![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Признак равенства порядков. В общем случае порядки и
равны
, если при равных bias коды смещенных порядков
и
совпадают. При равенстве порядков дизъюнкция всех бит поразрядной суммы по модулю 2 кодов смещенных порядков
и
равна 0. В этом случае
,
,
.
Если числа представлены в одинаковых базовых форматах стандарта IEEE 754, то необходимо дополнительно учитывать, что неравные смещенные порядки 00…01 и 00…0 соответствуют порядку .
Признак превышения одного порядка другим. В общем случае при равных bias отношения ,
и
можно вычислить, сравнивая количественные эквиваленты кодов
и
.
Сравнение можно выполнить просмотром слева направо пар одноименных бит кодов и
.
Если пара бит и
равна 10, то
,
,
.
Если пара бит равна 01, то ,
,
.
Если пара бит равна 00 или 11, смотрим очередную пару.
Если все пары бит совпадают, то ,
,
.
Затраты времени на просмотр можно сократить, если разбить коды и
на группы бит и организовать одновременное сравнение кодов в группах. Результат сравнения группы старших разрядов имеет приоритет. Если в старшей группе коды совпадают, вступает в силу готовый результат сравнения следующей группы и т.д.
![]() |
Результат сравнения порядков можно получить, анализируя разность смещенных порядков .
Если , то
,
,
. В противном случае при
отношения
,
,
иначе
,
,
.
При сравнении порядков чисел в стандарте IEEE 754 следует учитывать неоднозначность представления в поле смещенного порядка и форматы, в которых они представлены. Например. Если оба числа в одинаковом формате и известно, что они ненормализованные, то их порядки равные и минимальные. Если оба числа нормализованные, то их порядки равны, если равны смещенные порядки, и порядок того числа больше, у которого смещенный порядок больше. Если одно из чисел нормализованное, а другое нет, то их порядки равны, если смещенный порядок нормализованного числа 00…01. В противном случае порядок нормализованного числа больше, чем ненормализованного.
Сравнение порядков чисел в разных форматах существенно усложняется. Чтобы упростить сравнение порядков, можно предварительно число в меньшем формате записать в больший формат как это описано в разделе 6.1.1. Однако можно сравнивать порядки без преобразования формата числа. Рассмотрим сравнение порядков чисел записанных в разных форматах на примере.
Пусть и
смещенные порядки нормализованных чисел записанных в форматы двойной и одинарной точности соответственно. Тогда в соответствии с (6-16) при
порядки
;
. При
должно быть
. Откуда следует признак равенства порядков
. Двоичный код
. Прибавление константы
к восьмибитовому коду
сводится к инвертированию старшего разряда
, и если он был равен 1, то к результату приписывается слева код 100, иначе приписывается код 011. Полученный в формате двойной точности код
можно сравнивать с кодом
.
Если , то порядки
;
. Признак равенства порядков
такой же, как в предыдущем примере.
Если числа представлены в форматах двойной и одинарной точности стандарта IEEE 754, то порядок ненормализованного числа в формате двойной точности заведомо меньше порядка любого числа в формате одинарной точности. Если число в формате одинарной точности ненормализованное, достаточно смещенный порядок в формате двойной точности сравнивать с константой 011 0000 00102 соответствующей порядку (–126).
Дата публикования: 2014-12-11; Прочитано: 397 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!