2.5.3.    Плавающая запятая (вещественные числа)

Система кодирования для чисел с плавающей запятой более сложная, чем для чисел с фиксированной запятой. Основная идея этой системы похожа на ту, что используется в экспоненциальной системе обозначения, где мантисса умножается на число десять, возведенное в некоторую экспоненту. Например:

,

где 5.4321 является мантиссой а 6 является экспонентой.

Подпись:  
Рис. 2.6. Формат хранения числа с плавающей запятой одинарной точности
Экспоненциальная форма записи способна представлять как очень большие, так и очень маленькие числа. Например, число атомов на земле , или  расстояние, которое проходит черепаха в одну секунду в сравнении с диаметром нашей галактики. Запомните, что числа, представленные в экспоненциальной форме записи, нормализованы, т.е. слева от запятой используется только один ненулевой значащий разряд. Это достигается соответствующим выбором показателя экспоненты.

Представление чисел с плавающей запятой похоже на экспоненциальное представление, за исключением того, что оно проводится по основанию два, а не десять. В то время как существует множество похожих форматов, самым распространенным является стандарт ANSI/IEEE 754-1985. Этот стандарт определяет 32-битные числа, называемые числами с одинарной точностью, и 64-битные, называемые числами с двойной точностью. Используемые при одинарной точности 32 бита (рис. 2.6) делятся на три группы:

1) биты от 0 до 22 образуют мантиссу;

2) биты от 23 до 30 образуют экспоненту;

3) 31-й бит является знаковым разрядом.

Эти биты формируют число с плавающей запятой (v) с использованием следующего выражения:

.