Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы по информатике.docx
Скачиваний:
67
Добавлен:
10.05.2015
Размер:
150.08 Кб
Скачать

Особые случаи

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

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

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

Деление на нуль.

Недействительная операция. Например, деление 0 на 0, извлечение квадратного корня из отрицательного числа, умножение и деление бесконечностей, умножение бесконечности на нуль и т.д.

Округления

При неточном результате применяются следующие виды округления:

В направлении к нулю. Результат приводится в формат приемника путем отбрасывания некоторого числа младших бит.

В направлении к положительной бесконечности.

В направлении к отрицательной бесконечности.

Числовая ось.

- ∞ 0 +∞

К ближайшему. Результат округляется до ближайшего числа. Правила округления. Если отбрасываемая цифра меньше 5, то оставшаяся цифра уменьшается на 1, в противном случае (если больше 5) – увеличивается на 1. При равенстве отбрасываемой цифры 5 оставшаяся нечетная цифра увеличивается на 1, четная – не меняется.

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

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

Особый случай численного антипереполнениявозникает, когда ненулевой результат по абсолютной величине слишком мал для представления, т.е. когда он слишком близок к нулю. Примером служит результат деления 1,0 на наибольшее число с расширенной точностью. Другим примером является преобразование наименьшего положительного числа с расширенной точностью в число с двойной точностью.

Особый случай деления на нульвозникает, когда ненулевое число делится на нуль.

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

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

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

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

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