Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 6.6 Арифметика смещенных порядков.doc
Скачиваний:
4
Добавлен:
14.08.2019
Размер:
493.06 Кб
Скачать

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

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

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

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

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

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

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

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

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