В выражениях вещественного типа используются операнды всех типов Си, связанные знаками арифметических, логических операций, операций сравнения и круглыми скобками.
К арифметическим операциям относятся:
+ сложение 3.2 + 2.5 = 5.7
- вычитания 5.8 – 2.5 = 3.3
* умножение 3.5 * 2.0 = 7.0
/ деление 5.5 / 2.0 = 2.25
Логические операции и операции сравнения совпадают с соответствующими операциями для выражений целого типа.
Внимание! Не рекомендуется использовать операцию чистого равенства == для сравнения вещественных чисел – она, как правило, дает значение ложь (0).
Побитовые операции над операндами вещественноготипа не определены.
Приоритет и порядок выполнения операций в выражениях вещественного типа соответствует приоритету и порядку их выполнения в выражениях целого типа. Если в выражении вещественного типа встречаются операнды различных типов, то производится автоматическое преобразование типов к одному, самому длинному:
операнды типов char и short – к операндам типа int;
если хотя бы один из операндов имеет тип double, то и другие преобразуются в операнды типа double, и результат будет иметь тоже тип double;
если хотя бы один из операндов имеет тип long, то и другие преобразуются в операнды типа long, и результат будет иметь тоже тип long.
Примеры записи выражений вещественного типа
2.5 + 0.97*b*b
0.2e-4*x – 5.0e-12*y
Примеры вычислений выражений вещественного типа
ceil(log(1.0)) + ceil(exp(0.0))- round(pow(2.0,0)) = 0
floor(fmod(pow(1.6,2),pow(2.0,1))*10) - ceil(pow(1.41,2))=3
ceil(sqrt(2.0)) + floor(sqrt('D'-'A')) - (3|4) = -4
ceil(sqrt(10.0)) - floor(sqrt(3.0)) - 3%5 = 0