Представление вещественных чисел. Для представления вещественных чисел в ЭВМ применяется способ представления с плавающей точкой

Для представления вещественных чисел в ЭВМ применяется способ представления с плавающей точкой. Где порядок определяется, на сколько разрядов необходимо осуществить сдвиг относительно запятой.

где M– мантисса; k – порядок числа (целое число).

Мантисса должна быть правильной дробью (|M| < 1), у которой первая цифра после запятой отличная от ноля (|M| = 0, …).

Вещественные числа в компьютерах представляются, как правило, в трех форматах – одинарном, двойном и расширенном, имеющих одинаковую структуру.

Здесь порядок n-разрядного нормализованного числа задается смещенным кодом, позволяющим производить операции над порядками как над без знаковыми числами, что упрощает операции сравнения, сложения и вычитания порядков, а также операцию сравнения самих нормализованных чисел.

Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа. Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего отличного от ноля числа до наибольшего числа, представимого в машине при заданном формате.

Нормализованное число двойной точности представляет собой 64-разрядное нормализованное число со знаком, 11-разрядным смещенным порядком и 53-разрядной мантиссой (размер поля, выделенного для хранения мантиссы, составляет 52 разряда, а старший бит мантиссы не хранится).

Расширенный формат позволяет хранить ненормализованные числа в виде 80-разрядного числа со знаком: 15-разрядным смещенным порядком и 64-разрядной мантиссой.

Следует отметить, что вещественный формат с ш-разрядной мантиссой дает возможность абсолютно точно представлять т-разрядные целые числа, т. е. любое двоичное целое число, содержащее не более т разрядов, может быть без искажений преобразовано в вещественный формат.

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

При делении из порядка делимого вычитается порядок делителя, а над мантиссами совершается обычная операция деления. В случае необходимости полученный результат нормализуется, что приводит к изменению порядков, так как каждый сдвиг на один разряд влево соответствует уменьшению порядка на единицу, а сдвиг вправо - увеличению его на единицу. Введение термина «плавающая запятая» как раз и объясняется тем, что двоичный порядок, определяющий фактическое положение запятой в изображении числа, корректируется после выполнения каждой арифметической операции, т. е. запятая в изображении числа плавает (изменятся ее положение) по мере изменения данной величины.