Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4сем / Вычислительные методы алгебры (4 семестр)ЭУМК Численные методы.pdf
Скачиваний:
739
Добавлен:
01.03.2016
Размер:
7.59 Mб
Скачать

Часть III. Теоретические материалы Глава 1. Основы машинных вычислений 1.1. Машинная арифметика

Меню 1.1.4. Расширение множества чисел с плавающей точкой Вверх Назад Вперёд Пред. След. Указатель Помощь Экран

1.1.4. Расширение множества чисел с плавающей точкой

Денормализованные числа Специальные величины Определение машинной арифметики

Глядя на рис. 1.1, мы видим, что для практического использования машинной арифметики нам не достаточно множества нормализованных ЧПТ F1. Как минимум к этому множеству нужно добавить нуль (см. свойство 1). Кроме этого, современные машинные арифметики включают также специальные значения для обозначения бесконечностей, результатов некорректных операций и т. п.

Денормализованные числа

Наличие «зазора» между нулём и минимальным положительным нормализованным ЧПТ (свойство 4) может привести к серьёзным проблемам на практике. Рассмотрим, например, ЧПТ = 0.75 и = 0.625 из рассмотренного модельного множества F1(2, 3, −1, 2). Так как − = 0.125, при любом разумном способе округления мы имеем R( − ) = 0. То есть, например, выполнение обычного кода типа

if (x != y) then z = 1/(x - y)

в нашем случае приведёт к плачевному результату.

Эта проблема в современных машинных арифметиках решается дополнением множества нормализованных ЧПТ так называемыми денормализованными числами.

Определение. Вещественные числа вида

0. 1 2 . . . −1 × min ,

где — произвольные -ичные цифры, называются денормализованными числами с плавающей точкой (ДЧПТ). Множество всех ДЧПТ с параметрами , , min будем обозначать F0( , , min) либо кратко F0.

Введением денормализации мы сразу решаем две проблемы: получаем свойство

= R( − ) = 0

для любых ЧПТ , ,

Часть III. Теоретические материалы Глава 1. Основы машинных вычислений 1.1. Машинная арифметика

Меню 1.1.4. Расширение множества чисел с плавающей точкой

 

Вверх Назад Вперёд Пред. След. Указатель Помощь Экран

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

2

4

6

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.2

 

 

 

 

 

 

 

а также добавляем нуль ко множеству машинных чисел. На рисунке 1.2 синим цветом обозначены денормализованные числа, соответствующие ранее рассмотренному множеству ЧПТ F1(2, 3, −1, 2).

Заметим, что для хранения денормализованных ЧПТ необходимо одно дополнительное значение для экспоненты (как правило это min − 1).

Специальные величины

Стандарт IEEE 754, которому соответствуют практически все современные ЭВМ, предусматривает наличие специальных значений для машинных чисел, которым соответствуют не ЧПТ, а другие объекты. Простейшие объекты такого типа — это +∞ и −∞ (присутствуют также +0 и −0). Результаты вычислений с бесконечностями являются вполне определёнными: например, если — положительное число, то по стандарту/±∞ = ±0, /±0 = ±∞ и т. д. Кроме этого, стандартом определяются так называемые не-числа (NaN-ы, от «not a number»), которые обозначают результаты некорректных арифметических операций, таких как, например, извлечение корня из отрицательного числа.

Определение машинной арифметики

Определение. Машинными числами будем называть элементы множества

M = F0 F1.

Определение. Машинной арифметикой с плавающей точкой (МАПТ) будем называть множество машинных чисел M в совокупности с правилом округления R.

При вычислениях в МАПТ будем считать, что результаты операций сложения, вычитания, умножения и деления являются точно округляемыми. Это означает, что результат указанных операций всегда вычисляется точно, после чего округляется до ЧПТ по правилу R.