Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОЭВМ last.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
583.17 Кб
Скачать

25. Как определяется денормализованное число?

В этом случае поле порядка равно нулю, и появляется специальное значение: старший бит мантиссы 0, а не 1, и число представляется с потерей точности. Это позволяет расширить порядок, например, для одинарной точности от -126 до -149 (в двоичной системе счисления), но точность уменьшается до 1 бита. Такие числа называют денормализованными.

26. Режим управления бесконечностью со знаком?

Аффинный.

Бонус:

В проективном режиме существует только одна бесконечность, она не имеет знака. В афинном режиме имеется две бесконечности - положительная и отрицательная.

Афинный режим допускает выполнение многих операций с бесконечностями - сложение, умножение и так далее.

27. Что означает nan?

Возможно получение двух результатов: либо неопределенности, либо нечисла (NANNot A Number), которые в свою очередь делятся на сигнализирующие (Signaling NAN) и «тихие» нечисла (Quiet NAN). В любом случае поле порядка таких значений содержит все единицы.

Если выполняется одна из следующих операций:

  • сложение бесконечностей с разными знаками или вычитание с одинаковыми;

  • умножение бесконечности на 0;

  • деление ∞ на ∞ или 0 на 0;

  • вычисление квадратного корня с отрицательным операндом;

  • команды тригонометрических функций, когда аргумент – бесконечность;

  • команда обмена, когда один или оба регистра пустые,

но операндов нечисел нет, то результат – неопределенность: отрицательное число, мантисса которой равна 10…00.

Неопределенность получается и при особом случае стека, а что произошло, можно различить по флагу С1: 1 – переполнение стека, 0 – антипереполнение. Это значение записывается в регистр-получатель, замещая первоначальное содержимое, указатель стека ТОР при этом не изменяется.

При сохранении в памяти числа как целого неопределенность кодируется как максимальное отрицательное число 10…00. Для десятичных чисел в старшие два байта записываются единицы. Вещественная неопределенность является частным случаем «тихого» нечисла.

Сигнализирующие нечисла имеют нуль в старшем бите мантиссы, остальные биты произвольны, кроме всех нулей. FPU такие числа как результат не формирует, но распознает, когда они служат операндами. В итоге вызывается обработчик прерывания, или формируется «тихое» нечисло. Обычно программист использует сигнализирующие нечисла для вызова обработчика особого случая. Например, компилятор может использовать такие нечисла как неинициализированные переменные с указанием дополнительной информации в поле мантиссы.

«Тихие» нечисла имеют старшую единицу в поле мантиссы. При формировании особого значения из сигнализирующего нечисла заменяется только старший бит мантиссы, остальные разряды сохраняются. Если выполняется недействительная операция без участия нечисел, то результатом является неопределенность.

Существовавшие ранее псевдонечисла, псевдобесконечности, псевдоденормализованные и ненормализованные числа, начиная с сопроцессора 80387 не поддерживаются. Это было связано с окончательным формированием стандарта IEEE854.