![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Также число с плавающей точкойСодержание книги Похожие статьи вашей тематики
Поиск на нашем сайте
Даже если дробная часть равна 0, как в числе 8.0, наличие десятичной точки гарантирует, что число будет храниться в формате чисел с плавающей точкой, а не целых чисел Второй способ записи чисел с плавающей точкой называется экспоненциальной формой записи или просто экспоненциальной записью, например: 3.45Е6. Эта запись означает, что число 3.45 умножается на 1000000; Е6 означает 10 в 6-й степени. Таким образом, запись 3.45Е6 соответствует числу 3450000. Здесь число 6 называется экспо-нентой, а 3.45 — мантиссой. Рассмотрим несколько примеров:
2.52е+8 // можно использовать Е или е, знак " + " необязателен Е-4 // экспонента может быть отрицательной 7Е5 // то же самое, что и 7.ОЕ+05 -18.32е13 // перед мантиссой может стоять знак "+" или "-" Е12 // государственный долг США, 1989 г. Е24 // масса Земли в килограммах Е-31 // масса электрона в килограммах
Экспоненциальная запись наиболее удобна для очень больших и очень маленьких чисел. Экспоненциальная запись числа гарантирует, что число будет храниться в формате чисел с плавающей точкой, даже если десятичная точка отсутствует. Можно писать, как е, так и е, а экспонента может иметь знак "+" или "-". (см. рис.). Однако внутри числа недопустимы пробелы; так, запись является неверной: 7.2 Е6. Отрицательная экспонента означает не умножение, а деление на 10 в соответствующей степени. Таким образом, 8.33Е-4 означает 8.33 разделить на 10 в степени 4, или 0.000833. Аналогично масса электрона 9.11е-31 кг означает Кг Существует три типа данных для хранения чисел с плавающей точкой: float, double и long double.
Какой тип данных используется для хранения в компьютере константы с плавающей точкой? По умолчанию константы с плавающей точкой, например 8.24 и 2.4Е8, будут иметь тип данных double. Если необходимо создать константу типа float, добавьте к ней суффикс f или F. Чтобы тип константы был long double, нужно применить суффикс 1 или L.
L.234f // константа типа float E20F // константа типа float Е28 // константа типа double L // константа типа long double
Операции и выражения. Выражение в языке С++ – это последовательность операндов, операций и символов-разделителей. Операнды – это переменные, константы либо другие выражения. Разделителями в С++ являются символы:
[ ] () { },;: * = #,
каждый из которых выполняет свою функцию. Выражение может состоять из целого ряда операций и определять выполнение целого ряда шагов по преобразованию информации. По типу выполняемой операции различают арифметические операции, поразрядные логические, присваивания, операции отношения.
Операции и выражения. Арифметические операции.
В языке C++ имеется пять основных арифметических операций: сложение, вычитание, умножение, деление и деление по модулю. Также существуют две специфические операции, к которым относится операция инкремента и декремента. В каждой из этих операций используются два числа (называемых операндами ) для вычисления результата. Знак операции и два операнда составляют выражение. Рассмотрим, например, следующий оператор:
int wheels = 4 + 2;
Числа 4 и 2 являются операндами, знак "+" является операцией сложения, а запись 4 + 2 представляет собой выражение, значение которого равно б.
Ниже описаны пять основных арифметических операций языка C++: • Операция сложения + задает сложение двух операндов. Например, 4 + 20 равно 24.
• Операция вычитания — задает вычитание второго операнда из первого. Например, 12-3 равно 9.
• Операция умножения * задает умножение операндов. Например, 28 * 4 равно 112.
• Операция деления / задает деление первого операнда на второй. Например, 1000 / 5 равно 200. Если оба операнда — целые числа, результатом будет целая часть частного. Например, 17/3 равно 5, дробная часть отбрасывается.
• Операция вычисления остатка от деления % задает нахождение остатка от деления первого операнда на второй. Например, 19 % 6 равно 1, так как число 19 содержит три раза по 6 с остатком 1. Оба операнда должны быть целочисленными данными. Если один из операндов отрицателен, знак результата зависит от реализации языка.
• Операция инкремента ++ увеличивает значение операнда на 1. Например:
int i; i=1; i++;//Здесь переменная i имеет теперь значение 2
• Операция декремента - - уменьшает значение операнда на 1. Например:
int i; i=1; I--;//Здесь переменная i имеет теперь значение 0 Операции и выражения. Операция присваивания.
Язык C++ имеет несколько особенностей выполнения операции присваивания, задаваемого символом операции =. При выполнении операции значение операнда справа от знака равенства записывается в переменную, указанную слева от знака. В отличие от других языков программирования в С++ допускается запись в одном предложении сразу нескольких операций присваивания. Например: int a,b,c,d; a=b=c=d=145; Другая особенность операции присваивания в языке С++ - наличие так называемой комбинированной операции присваивания: переменная операция = выражение
Где переменная – это обычная как-то задаваемая переменная. Операция – это одна из операция, задаваемых знаками: *, /, +, -, %, <<, >>, &, ^, |. Выражение – любое выражение.
Например: int a,b; a=b=10; a+=12; // a теперь имеет значение 22 b-=(a+4); // b теперь имеет значение -16 Арифметические выражения. Приоритет операций и ассоциативность
Можно ли в языке C++ выполнять сложные арифметические вычисления? Да, но нужно знать, какие правила языка C++ при этом используются. Например, многие выражения содержат более одной операции. Отсюда возникает вопрос, какая операция должна выполняться первой? Рассмотрим такой оператор:
int i = 3 + 4*5; //35 или 23?
Здесь число "4" является операндом как в операции сложения (+), так и в операции умножения (*). Когда один операнд может участвовать более чем в одной операции, чтобы решить, какая операция должна выполняться первой, в языке C++ применяются правила приоритета операций. Для арифметических операций используется обычная алгебраическая приоритетность, в соответствии с которой умножение, деление и деление по модулю выполняются перед сложением и вычитанием. Таким образом, 3+4*5 означает 3 + (4 * 5), а не (3 + 4) *. 5. Следовательно, ответ будет 23, а не 35. Порядок выполнения операций можно, разумеется, изменить с помощью круглых скобок. Обратите внимание на то, что операции *, / и % имеют одинаковый приоритет. Аналогично сложение и вычитание обладают одинаковым, но более низким по сравнению с умножением приоритетом. Однако в некоторых случаях правил приоритетности недостаточно. Рассмотрим следующий оператор:
float j = 120/4*5; // 150 или 6?
Число "4" снова является операндом двух операций. Однако операции /и * имеют одинаковый приоритет, поэтому одного приоритета здесь недостаточно, чтобы определить, что делать в первую очередь: делить 120 на 4 или умножать 4 на 5. А этот порядок имеет значение, так как в первом случае результат равен 150, а во втором — 6. Когда две операции имеют одинаковый приоритет, порядок выполнения операций определяется правилом «слева направо». Поэтому j=150.0; Арифметические выражения Преобразования типов данных
Разнообразие типов данных в языке C++ дает программисту возможность выбирать вариант, соответствующий конкретной потребности. Однако такое разнообразие, с другой стороны, усложняет задачу компьютера. Например, сложение двух чисел типа short может выполняться с помощью иных машинных команд, чем сложение двух чисел типа long. Когда имеется 11 типов целочисленных данных и три типа данных с плавающей точкой, компьютеру приходится обрабатывать множество различных случаев, особенно если в одной операции смешаны данные различных типов. Чтобы не допустить возможной путаницы, в языке C++ многие преобразования типов данных выполняются автоматически:
// данные типа int преобразуются в данные // типа float float tree = 3; // данные типа float преобразуются // в данные типа int int guess = 3.9832; Результат: tree = 3.0 guess = 3
Когда некоторая операция выполняется над данными двух разных типов, то данные меньшего типа преобразуются в данные большего типа. Например:
int i=45; float f=450.123; float r=i+f; // результат float
Если не знать, что происходит при таких автоматических преобразованиях, то результаты выполнения некоторых программ могут оказаться для вас неожиданными. Приведение типов:
В общем виде: (имяТипа) значение // преобразует значение в данные типа имяТипа ИмяТипа (значение) // преобразует значение в данные типа имяТипа
Пример: float f=450.123; int guess; guess = (int)(3.9832 + f); Или guess = int(3.9832 + f); Операции и выражения.
|
|||||||||||||||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 566; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.219.9.175 (0.014 с.) |