Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Сравнение порядков



Признак равенства порядков. В общем случае порядки и равны , если при равных bias коды смещенных порядков и совпадают. При равенстве порядков дизъюнкция всех бит поразрядной суммы по модулю 2 кодов смещенных порядков и равна 0. В этом случае , , .

Если числа представлены в одинаковых базовых форматах стандарта IEEE 754, то необходимо дополнительно учитывать, что неравные смещенные порядки 00…01 и 00…0 соответствуют порядку .

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

Сравнение можно выполнить просмотром слева направо пар одноименных бит кодов и .

Если пара бит и равна 10, то , , .

Если пара бит равна 01, то , , .

Если пара бит равна 00 или 11, смотрим очередную пару.

Если все пары бит совпадают, то , , .

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

 
 

Пример 6-3. Сравниваются коды и . Результаты сравнения приведены под ними. Вывод о результате сравнения сделан на основании значения пары бит выделенной жирным шрифтом. В варианте C все пары бит совпадают. Поэтому .

Результат сравнения порядков можно получить, анализируя разность смещенных порядков .

Если , то , , . В противном случае при отношения , , иначе , , .

При сравнении порядков чисел в стандарте IEEE 754 следует учитывать неоднозначность представления в поле смещенного порядка и форматы, в которых они представлены. Например. Если оба числа в одинаковом формате и известно, что они ненормализованные, то их порядки равные и минимальные. Если оба числа нормализованные, то их порядки равны, если равны смещенные порядки, и порядок того числа больше, у которого смещенный порядок больше. Если одно из чисел нормализованное, а другое нет, то их порядки равны, если смещенный порядок нормализованного числа 00…01. В противном случае порядок нормализованного числа больше, чем ненормализованного.

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

Пусть и смещенные порядки нормализованных чисел записанных в форматы двойной и одинарной точности соответственно. Тогда в соответствии с (6-16) при порядки ; . При должно быть . Откуда следует признак равенства порядков . Двоичный код . Прибавление константы к восьмибитовому коду сводится к инвертированию старшего разряда , и если он был равен 1, то к результату приписывается слева код 100, иначе приписывается код 011. Полученный в формате двойной точности код можно сравнивать с кодом .

Если , то порядки ; . Признак равенства порядков такой же, как в предыдущем примере.

Если числа представлены в форматах двойной и одинарной точности стандарта IEEE 754, то порядок ненормализованного числа в формате двойной точности заведомо меньше порядка любого числа в формате одинарной точности. Если число в формате одинарной точности ненормализованное, достаточно смещенный порядок в формате двойной точности сравнивать с константой 011 0000 00102 соответствующей порядку (–126).





Дата публикования: 2014-12-11; Прочитано: 396 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...