Стандарт IEEE-754 - Компьютерная арифметика

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

Поэтому был разработан международный стандарт IEEE-754, нормам которого должны удовлетворять практически все вновь разрабатываемые компьютерные системы. Указанный стандарт решает следующие задачи:

    - упорядочивает форматы чисел с плавающей точкой; - унифицирует реакции на особые случаи в процессе обработки; - определяет требования к точности вычислений.

В соответствии со стандартом IEEE-754 определены два базовых и два расширенных формата. Во всех форматах используется смещенный код порядка. Мантисса имеет старший разряд (m0) с весом (20), относящийся к целой части. Поэтому условие нормализации изменяется:

. (5.11)

Базовый одинарный формат - (БОФ) имеет длину в 32 разряда. Поле порядка в этом формате содержит 8 разрядов, а смещение равно 127.

Максимальный положительный порядок числа здесь равен +127, минимальный отрицательный -128.

Базовый двойной формат - (БДФ) имеет одноразрядное знаковое поле, 11-разрядное поле смещенного порядка и 52-разрядное поле мантиссы.

Смещение здесь равно 1023. Особенность двух указанных форматов заключается в том, что минимальный и максимальный смещенные порядки зарезервированы для представления специальных чисел. Поля мантисс в явном виде не содержат разряда (m0), так как в памяти должны храниться нормализованные мантиссы чисел, а значит, их старший разряд всегда равен (1). При передаче числа из памяти в процессор этот "неявный" разряд становится "явным", и в операциях участвует 24-разрядная (БОФ) или 56-разрядная (БДФ) мантисса.

Расширенный одинарный формат - (РОФ) не имеет жестко фиксированных параметров, однако для конкретных реализаций он устанавливается, исходя из следующих требований:

    - наличие одноразрядного знакового поля; - наличие явного или скрытого разряда в мантиссе; - длина мантиссы не менее 31 разряда; - диапазон значений порядка -- -1023... +1024.

Расширенный двойной формат - (РДФ) отличается от одинарного тем, что диапазон порядка составляет -16383...+16384, а поле мантиссы - не менее 63 разрядов. В качестве примера практической реализации форматов стандарта IEEE-754 можно рассмотреть представление числовых данных с плавающей точкой в компьютерных системах. Здесь используются данные трех типов (таблица 5.2):

    - вещественные числа одинарной точности (single real), соответствующие БОФ; - вещественные числа двойной точности (double real), соответствующие БДФ; - вещественные числа расширенной точности (extended real) или временные вещественные числа, соответствующие РДФ.

Временные вещественные числа имеют в своем представлении явный бит (m0). В памяти компьютера числа хранятся чаще всего в форматах БОФ или БДФ, а их обработка выполняется в РДФ.

Следует отметить, что целые числа в диапазоне (2-64....2+64 ) представляются абсолютно точно в РДФ.

Таблица 5.2 - Зависимость диапазона представимых чисел от базовых форматов

Тип

Длина

Точность

Диапазон (дв.)

Диапазон (дес.)

БОФ

32

24

БДФ

64

53

РДФ

80

64

Если в процессе вычислений результат выходит за пределы представимых чисел, то имеет место особый случай:

    - нарушение нормализации; - если результат превышает |XMax|, то такой случай называют переполнением или переполнением порядка, и вычисления при этом останавливают (прерывание); - если результат меньше |XMin|, имеет место антипереполнение или исчезновение порядка, что обычно воспринимается как нулевой результат (машинный 0); - в результате выполнения сложения-вычитания мантисса может оказаться равной (0) при ненулевом порядке. Это ситуация потери значимости (псевдонуль). Результат интерпретируется как машинный (0).

Похожие статьи




Стандарт IEEE-754 - Компьютерная арифметика

Предыдущая | Следующая