Assembler для начинающих



         

Представление данных с плавающей точкой - часть 6


    количества бит порядка не увеличивает точность числа.  Размер
    мантиссы есть единственное ограничение точности данного числа в
    пределах системы.
 
      Значение порядка хранится не как число, представленное в
    дополнительном коде.  Для упрощения вычислений значение порядка в
    ЭВМ хранится в виде смещенного числа.  Это означает, что к
    действительному значению порядка прибавляется смещение перед
    записью его в память.  Смещенным значение порядка делается для
    того, чтобы можно было сравнивать значения порядка с помощью
    обычной операции сравнения чисел с фиксированной точкой без знака.
    В частности, это полезно при сравнении двух чисел с плавающей
    точкой.  Значения порядка и мантиссы записываются в одном элементе
    данных, причем порядок записывается перед мантиссой.  В случае
    смещенного значения порыдка программа может сравнивать числа
    побитно, начиная со старших позиций.  Первое же неравенство
    показывает соотношение чисел, и больше не нужно учитывать никакие
    части чисел.  Значение смещения определяется размером поля порядка.
    Давайте это рассмотрим на примере форматов данных сопроцессора
    8087.
 
      В сопроцессоре 8087 формат короткого действительного числа
    использует 32 бита, восемь из которых содержат значение порядка;
    таким образом, оно может находиться в пределах от - 128 до 127.
    Однако значение -128 зарезервировано для обозначения некоторого
    специального, а именно, неопределенного числа, так что значения
    порядка находятся в диапазоне от -127 до 127.  Значение порядка -
    это не число, представленное в дополнительном коде.  Сопроцессор
    8087 прибавляет значение смещения 127 к значению порядка
    действительного числа перед тем, как его запомнить.
 
      Значение порядка  Хранимое значение
      ---------------------------------------
       -127             000H
         -1             07EH
          0             07FH
          1             080H
        127             0FEH
      ------------------------------------- Фиг. 7.5 Хранение порядка
 
      В таблице на Фиг. 7.5 показаны некоторые возможные значения
    порядка и его запоминаемое значение.  Как видно из рисунка,
    смещение меняет содержимое поля порядка так, чтобы наименьшему
    значению порядка соответствовало наименьшее действительное число;
    аналогично, наибольшему значению порядка соответствовало наибольшее
    число.  Если два числа с плавающей точкой различаются значением
    порядка, простое сравнение полей порядка упорядочивает оюа числа.
    Поскольку такое сравнение можно продолжать и дальше с полями
    мантисс, программа может легко сравнить два числа с плавающей
    точкой.  И вся эта простота - только благодаря смещению порядка.



Содержание  Назад  Вперед