Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по ЭВМ и ПУ.doc
Скачиваний:
64
Добавлен:
16.03.2015
Размер:
1.16 Mб
Скачать

4.3.4. Деление на ноль.

Бесконечность - число, имеющее в поле порядка все единицы, а в поле мантиссы - все нули . Единица в старшем разряде хранится явно в расширенном формате. Так как поле знака может быть равным единице или нулю, то существуют положительная и отрицательная бесконечности.

Если x - конечное положительное число, не равное нулю, то разрешены следующие операции с бесконечностью:

1) x : + 0 = +- x : + 0 = - x : - 0 = - - x : - 0 = +

2) x : += + 0 - x : += - 0 x : -= - 0 - x : -= +0

3) x *+= + - x * += - x * -= - x * -= +

4) +: x = + +: - x = - : x = - : - x = +

5) +* += + +* -= - -* += - -* -= -

Запрещены следующие операции с бесконечностью (в качестве результата они дают особый случай недействительной операции ):

Для операций сложения, вычитания и сравнения бесконечностей появляются трудности. Математический сопроцессор 80287 имеет два режима управления бесконечностью : проективный и аффинный.

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

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

(+) + (+) = +;

(-) - (+) = -.

В аффинном режиме также разрешены сложение и вычитание бесконечности и конечного числа, сравнение конечного числа с бесконечностью и сравнение бесконечностей друг с другом.

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

4.3.5.Численное переполнение.

Численное переполнение наступает тогда, когда результат превышает наибольшее конечное число в формате приемника. Переполнение опасно, так как знак может оказаться неверным, а результат будет не бесконечность, а слишком большое для представления число.

Пример: деление большого числа на малое число (близкое к 0). Знак результата будет зависеть от знака малого числа, хотя он может быть неверным в результате ошибки округления.

Специальное значение формируется в зависимости от режима округления, установленного в регистре управления сопроцессора:

1) если установлен режим округления к ближайшему числу - то результат- плюс или минус бесконечность;

2) если установлен режим округления к минус бесконечности, то для положительных чисел результат - максимальное число больше нуля, для отрицательных чисел - минус бесконечность;

3) если установлен режим округления к плюс бесконечности, то для положительных чисел результат – плюс бесконечность, а для отрицательных чисел - максимальное число меньше нуля;

4) если установлен режим округления к нулю, то для положительных чисел результат - максимальное число больше нуля, для отрицательных чисел - максимальное число меньше нуля.