Логические значения

Вещественные числа

Вещественные числа в C++ могут быть одного из трех типов: с одинарной точностью (float), с двойной точностью (double) и с расширен­ной точностью (long double):

float x;

double e = 2.9;

long double s;

В большинстве реализаций языка представление и диапазоны зна­чений соответствуют стандарту IEEE (Institute of Electrical and Electronics Engineers) для представления вещественных чисел. Именно в соответст­вии с этим стандартом в табл. 1 и приведены диапазоны значений веще­ственных чисел. Точность представления чисел составляет 7 десятичных значащих цифр для типа float, 15 значащих цифр для double и 19 для типа long double.

Вещественные числа записываются либо в виде десятичных дро­бей: 1.3, 3.1415, 0.0005, либо в виде мантиссы и экспоненты: 1.2Е-1, 0.12е0. Отметим, что обе предыдущие записи изображают одно и тоже число 0.12.

По умолчанию вещественная константа принадлежит к типу double.

Для вещественных чисел определены все стандартные арифмети­ческие операции: изменения знака (-), сложения (+), вычитания (-), умножения (*), деления (/) и изменения знака (-). В отличие от целых чисел, операция % не определена. Аналогично, все побитовые операции и сдвиги не при­менимы к вещественным числам; они работают только с целыми числами.

Вещественные числа можно сравнивать на равенство (= =), неравенство (!=), больше (>), меньше (<), больше или равно (>=) и меньше или равно (<=). В результате операции сравнения получается логическое значение истина или ложь.

Если арифметическая операция применяется к двум вещественным числам разных типов, то менее точное число преобразуется к более точному, то есть float преобразуется в double и double преобразуется к long double. Очевидно, что такое преобразование всегда можно выполнить без потери точности.

Если вторым операндом в операции с вещественным числом выступает целое число, то целое число преобразуется в вещественное представление.

Хотя любую целую величину можно представить в виде вещественного числа, при таком преобразовании возможна потеря точности (для больших чисел).

В языке C++ существует специальный тип bool для представления логических значений. Для величин этого типа существует только два возможных значения: true (“истина”) и false (“ложь”). Формат объявления логической переменной:

bool имя_переменной ;

Соответственно, существуют только две логические константы – true и false.

Для типа bool определены три стандартные логические операции: логическое И (&&), логическое ИЛИ (||) и НЕ (!).

Напомним, что логические значения получаются в результате операций сравнения, а также при преобразовании чисел в логические значения.