Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IEEE 754 RUS.doc
Скачиваний:
3
Добавлен:
14.08.2019
Размер:
344.06 Кб
Скачать
    1. Форматы

Форматы представления чисел с плавающей точкой разделены на 2 группы: базовые и расширенные. Каждая имеет две ширины: одинарную и двойную. Выполнение стандарта позволяет поддерживать комбинации форматов.

3.1 Множество значений. Этот раздел касается только не закодированных числовых значений, представленных в формате. С целью оценки представляемых чисел в выбираемом формате используем три целочисленных параметра:

p – количество разрядов мантиссы (точность);

Emax – максимальный порядок;

Emin – минимальный порядок.

Параметры каждого формата даны в Таблице 1. Для каждого формата справедливо следующее.

Числа имеют вид (-1)s2E(b0*b1b2bp-1),

где s = 0 или 1;

E = любому целому числу между Emin и Emax включительно;

bi = 0 или 1.

Две бесконечности + ∞ и - ∞.

Хотя бы одно сигнализирующее NaN.

Хотя бы одно простое NaN.

Описание, предшествующее число списком (перечнем) некоторых величин избыточно, например, 20(1,0) = 21(0,1) = 22(0,01) =… . Однако, кодирование таких не равных нулю величин может быть избыточным только в расширенных форматах (3.3).

Ненулевые значения, представленные в виде ±2Emin(0*b1b2bp-1) называются ненормализованными. Определенные зарезервированные значения порядка могут использоваться для обозначения NaN, ±∞, ±0 и ненормализованных чисел.

Для любой переменной, имеющей нулевое значение, знаковый разряд s может использоваться как еще 1 информационный. Хотя во всех форматы различают представление +0 и -0, знак является значащим при некоторых обстоятельствах, таких как деление на 0, и не является значащим в других. В тексте этого стандарта 0 и ∞ пишут без знака, когда знак не играет роли (безразличен).

Сводная таблица параметров форматов Таблица 1

Параметр

Формат

одинарный

одинарный расширенный

двойной

двойной расширенный

p

24

≥32

53

≥64

Emax

+127

≥+1023

+1023

≥+16383

Emin

-126

≤-1022

-1022

≤-16382

Смещение порядка (bias)

+127

Не регламентируется

+1023

Не регламентируется

Ширина порядка (бит)

8

≥11

11

≥15

Ширина формата (бит)

32

≥43

64

≥79

3.2 Основные форматы. Числа в одинарном или двойном формате скомпонованы в следующих трех полях.

(1) 1-бит знак S;

(2) смещенный порядок е = E + bias;

(3) дробная часть мантиссы (fraction) f = * b1b2bp-1.

Область несмещенного порядка E будет включать все целые между Emax двумя величинами Emin и Emax включительно и, кроме того, две резервных величины Emin–1 для кодирования ±0 и ненормализованных чисел, и Emax+1 для кодирования ±∞ и NaNs.

Все параметры указаны в таблице 1. Любое ненулевое численное значение кодируется только одной последовательностью. Поля интерпретируются следующим образом:

3.2.1 Одинарный формат. В этом 32 битном формате число Х делится на поля, показанные на рис.1. Значение V числа определяется по следующим признакам:

1) если e = 255 и f ≠ 0, то V – NaN вне зависимости от S;

2) если e = 255 и f = 0, то V = (-1)S ∞;

3) если 0 < e < 255, то V = (-1)S 2e-127 (1*f );

4) если e = 0 и f ≠ 0, то V = (-1)S 2e-126 (0*f ) (ненормализованные числа);

5) если e = 0 и f = 0, то V = (-1)S 0 (ноль).

3.2.2. Двойной формат. В этом 64 битовом формате число Х делится на поля, как это показано на рис.2. Значение V числа Х определяется следующим образом:

1) если e = 2047 и f ≠ 0, то V – NaN вне зависимости от s;

2) если e = 2047 и f = 0, то V = (-1)S ∞;

3) если 0 < e < 2047, то V = (-1)S 2e-1023 (1*f ) (ненормализованные числа);

4) если e = 0 и f ≠ 0, то V = (-1)S 2e-1022 (0*f);

5) если e = 0 и f = 0, то V = (-1)S 0 (ноль).

3.3. Расширенные форматы. Способ кодирования в одинарных и двойных расширенных форматах зависит от реализации величин рассматриваемых в 3.1 с ограничениями приведенными в Табл.1.

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

Реализация может резервировать некоторые битовые строки для особых целей, не описанных в стандарте. Если подобная комбинация выступает в роли операнда, результат операции стандартом не регламентируется.

Одинарный расширенный формат не обеспечивает больший диапазон значений, чем нерасширенный формат с двойной точностью.

3.4. Комбинации форматов. Все реализации соответствующие стандарту должны поддерживать одинарный формат

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]