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


         

достижении другого предела представления чисел


       0    1    0     1     + Бесконечность    1    1     0     1     Пусто
       0    1    1     0     - Нормально       1    1     1     0     - Ненормальное
       0    1    1     1     - Бесконечность    1    1     1     1     Пусто
      ---------------------------------------------------------------------------------------------------

                Фиг. 7.21 Пример интерпретации кодов состояний
Денормализованные и ненормализованные числа возникают при
    достижении другого предела представления чисел с плавающей точкой.
    Когда число становится настолько маленьким, что у него уже нет
    смещенного порядка, оно становится денормализованным.  Вместо того,
    чтобы заменить число нулем, процессор 8087 записывает наименьшее
    значение порядка и ненормализованную мантиссу.  Это означает, что
    число теряет точность, так как у его мантиссы появляются незначащие
    нули.  Но денормализованный результат все же точнее, чем просто
    нуль.  И это тот случай, при котором сопроцессор 8087, продолжая
    работу, наилучшим образом реагирует на плохие условия.  Пометка
    числа, как денормализованного, должна насторожить вас.  При этом
    также устанавливается бит денормализации в регистре особых
    ситуаций, и остается установленным до тех пор, пока команда FCLEX
    не сбросит биты особых ситуаций.  С помощью анализа флагов
    программа может зарегистрировать возникновение ошибки и отнестись к
    результатам с подозрением.

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