6.6.2. Признаки максимального, минимального, нулевого порядка и знака порядка
Признак нулевого порядка. Из (6-16) следует, что признаком порядка E=0 является код bias в поле смещенного порядка.
Признак знака порядка. Из (6-16) следует,
что при
,
код
;
при
,
код
.
Так как
или
,
то при
знак E однозначно
определяется старшим битом
.
При
старший бит
,
при
старший бит
.
Например,
при
и
код
;
при
код
;при
и
код
;
при
код
.
Значение E=0 можно рассматривать как число, со знаком (+), со знаком (–) или без знака. Чтобы не усложнять оценку знака порядка можно принять, что при порядок равный нулю имеет знак (–), а при порядок ноль имеет знак (+).
Признак максимального порядка.
Порядку
в общем случае соответствует максимальный
смещенный порядок
.
В стандарте IEEE 754 код
применяется для кодирования нечисловых
величин. Поэтому признаком
является код
.
Признак минимального порядка.
Порядку
в общем случае соответствует минимальный
смещенный порядок
.
В стандарте IEEE 754 порядок
представлен двумя кодами
и
.
Поэтому признаком порядка
является наличие нулей во всех битах
поля смещенного порядка кроме младшего.
6.6.3. Сравнение порядков
Признак равенства порядков. В общем
случае порядки
и
равны
,
если при равных bias коды смещенных
порядков
и
совпадают. При равенстве порядков
дизъюнкция всех бит поразрядной суммы
по модулю 2 кодов смещенных порядков
и
равна 0. В этом случае
,
,
.
Если числа представлены в одинаковых базовых форматах стандарта IEEE 754, то необходимо дополнительно учитывать, что неравные смещенные порядки 00…01 и 00…0 соответствуют порядку .
Признак превышения одного порядка
другим. В общем случае при равных bias
отношения
,
и
можно вычислить, сравнивая количественные
эквиваленты кодов
и
.
Сравнение можно выполнить просмотром слева направо пар одноименных бит кодов и .
Если пара бит
и
равна 10, то
,
,
.
Если пара бит равна 01, то
,
,
.
Если пара бит равна 00 или 11, смотрим очередную пару.
Если все пары бит совпадают, то , , .
Затраты времени на просмотр можно сократить, если разбить коды и на группы бит и организовать одновременное сравнение кодов в группах. Результат сравнения группы старших разрядов имеет приоритет. Если в старшей группе коды совпадают, вступает в силу готовый результат сравнения следующей группы и т.д.
П
A B C
0011
01011 1011 0101 0011
1101
0010
11011 1011 1110 0011
1101
.
Результат сравнения порядков можно
получить, анализируя разность смещенных
порядков
.
Если
,
то
,
,
.
В противном случае при
отношения
,
,
иначе
,
,
.
При сравнении порядков чисел в стандарте IEEE 754 следует учитывать неоднозначность представления в поле смещенного порядка и форматы, в которых они представлены. Например. Если оба числа в одинаковом формате и известно, что они ненормализованные, то их порядки равные и минимальные. Если оба числа нормализованные, то их порядки равны, если равны смещенные порядки, и порядок того числа больше, у которого смещенный порядок больше. Если одно из чисел нормализованное, а другое нет, то их порядки равны, если смещенный порядок нормализованного числа 00…01. В противном случае порядок нормализованного числа больше, чем ненормализованного.
Сравнение порядков чисел в разных форматах существенно усложняется. Чтобы упростить сравнение порядков, можно предварительно число в меньшем формате записать в больший формат как это описано в разделе 6.1.1. Однако можно сравнивать порядки без преобразования формата числа. Рассмотрим сравнение порядков чисел записанных в разных форматах на примере.
Пусть
и
смещенные порядки нормализованных
чисел записанных в форматы двойной и
одинарной точности соответственно.
Тогда в соответствии с (6-16) при
порядки
;
.
При
должно быть
.
Откуда следует признак равенства
порядков
.
Двоичный код
.
Прибавление константы
к восьмибитовому коду
сводится к инвертированию старшего
разряда
,
и если он был равен 1, то к результату
приписывается слева код 100, иначе
приписывается код 011. Полученный в
формате двойной точности код
можно сравнивать с кодом
.
Если
,
то порядки
;
.
Признак равенства порядков
такой же, как в предыдущем примере.
Если числа представлены в форматах двойной и одинарной точности стандарта IEEE 754, то порядок ненормализованного числа в формате двойной точности заведомо меньше порядка любого числа в формате одинарной точности. Если число в формате одинарной точности ненормализованное, достаточно смещенный порядок в формате двойной точности сравнивать с константой 011 0000 00102 соответствующей порядку (–126).
