ПОГРЕШНОСТИ МАШИННОЙ АРИФМЕТИКИ
начинается с бита, заполненного 1. Следуя практике, начатой с компьютера
PDP-11, первый бит не сохраняют, поскольку можно просто предполагать,
что он есть. Следовательно двоичная мантисса состоит из скрытого бита, за
которым идет последовательность двоичных цифр, явно представленная в
ячейке памяти. Стандарт IEEE-754 определяет дробную часть вещественного
числа следующим образом: она состоит из неявного бита, равного 1, неявной
двоичной запятой, за которыми идут 23, 52 или 64 бита. Если все явные биты
заполнены 0, то это число имеет значение 1.0. Если же все явные биты равны
1, то это числовое значение несколько меньше, чем 2.0. Во избежания
путаница для обозначения комбинации из неявного бита, неявной двоичной
запятой и последующих явных битов вместо термина «мантисса» (mantissa)
используется термин significand. Все нормализованные числа имеют
significand s в диапазоне 1s<2.
Самое маленькое нормализованное число одинарной точности
содержит 1 в смещенном порядке, 0 – в мантиссе и представляет значение
1.0·2=2=10=1010. Самое большое нормализованное число одинарной
точности содержит 254 в смещенном порядке, единицы – в мантиссе и
представляет значение, чуть меньшее 2.0·2=2=10=1010.
Одна из проблем представления вещественных чисел в конечном
числе разрядов – потеря значимости, которая возникает при получении
результата арифметических действий, модуль которого меньше самого
маленького нормализованного числа. Раньше аппаратное обеспечение
действовало одним из двух способов: либо устанавливало результат на 0,
либо вызывало ошибку из-за потери значимости. В стандарт IEEE введены
ненормализованные числа. Эти числа имеют смещенный порядок 0 и
ненулевую мантиссу. Неявный бит слева от двоичной точки превращается в
0. Ненормализованные числа легко отличить от нормализованных, поскольку
у последних не может быть записан в порядке 0. Самое большое
ненормализованное число содержит 0 в порядке, в мантиссе единицы,
скрытый бит равен 0. Таким образом представлено значение несколько
меньшее 2, т.е. в два раза меньшее, чем самое маленькое нормализованное
число.
По мере уменьшения результата при дальнейших вычислениях
смещенный порядок остается равным 0, а первые несколько битов мантиссы
превращаются в нули, что сокращает и значение, и число значимых битов
мантиссы. Самое маленькое ненормализованное число содержит в мантиссе
в крайнем правом бите 1, а все остальные биты равны 0. Так в типе
одинарной точности наименьшее представимое число имеет значение
2·2=2=2=10=10. Такая схема предусматривает постепенное
исчезновение значимых разрядов, а не перескакивает на 0, когда результат
нельзя выразить в виде нормализованного числа.