Вещественные типы данных (они же типы данных с плавающей точкой) хранятся в памяти компьютера иначе, чем целочисленные. Внутреннее представление вещественного числа состоит из двух частей — мантиссы и порядка и вычисляется по формуле:
,
где e – порядок, он же экспонента;
m – мантисса.
Из таблицы 1 видно, что тип float занимает 4 байта, из которых один двоичный разряд отводится под знак мантиссы, 8 разрядов под порядок и 23 под мантиссу. Мантисса – это число, большее 1.0, но меньшее 2.0. Поскольку старшая цифра мантиссы всегда равна 1, она не хранится.
Для величин типа double, занимающих 8 байт, под порядок и мантиссу отводится 11 и 52 разряда соответственно. Длина мантиссы определяет точность числа, а длина порядка – его диапазон.
Следует всегда помнить, что из-за особенностей хранения вещественные типы данных имеют ограниченную точность. Это означает, что если записать в переменную вещественного типа практически любое число, оно сохранится с небольшой погрешностью. Например, значение 1.3, сохранённое в типе float будет выглядеть так: 1.2999999523162842.