A=(± M) · 2 ±P, причем ½ ≤ M <1.

Пример: –310 = –0,11·210, где M = 0,11 и P = 10(записи M и P в двоичном коде).

Примечание.

Характерно, что двоичная мантисса всегда начинается с единицы (M ≥ ½ ). Поэтому во многих ЭВМ эта единица не записывается в оперативную память, что позволяет сохранить еще один дополнительный разряд мантиссы (это так называемая скрытая единица).

Таким образом, мы видим, что при использовании метода представления вещественных чисел с плавающей запятой фактически хранится два числа: мантисса и порядок. Разрядность первой части определяет точность вычислений, а второй – диапазон представления чисел.

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

В частности, для IBM PC, мантисса хранится в прямом коде, а для хранения порядка используется так называемыйсдвиг: к значению порядка прибавляется некоторая константа. В результате все значения порядка становятся положительными беззнаковыми числами, что заметно упрощает «…операцию сравнения произвольного числа с нулем, которая выполняется аппаратно довольно часто» [9]).

Рассмотрим далее правила выполнения арифметических операций над числами в двоичной системе счисления с фиксированной запятой [10]).

Примечание.

Арифметика чисел с плавающей запятой заметно сложнее, чем с фиксированной. Например, чтобы сложить два числа с плавающей запятой, требуется предварительно привести их к представлению, когда оба порядка равны; такая процедура называется выравниванием порядков. Кроме того, в результате вычислений нормализация часто нарушается, а значит необходимо ее восстанавливать. Тем не менее, вычислительные машины со всем этим великолепно умеют автоматически справляться, и именно такой способ вычислений лежит в основе работы современных компьютеров. Заметим также, что в многих современных микропроцессорах все операции с плавающей запятой вынесены в специальный блок, который принято называть математическим сопроцессором.