Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмы / Глава 3_Маш_ар-ка.doc
Скачиваний:
142
Добавлен:
15.02.2015
Размер:
1.68 Mб
Скачать

3.3.3. Умножение и деление чисел в форме с плавающей точкой

Умножение. Для машинного умножения чисел, представленных в форме с плавающей точкой, достаточно перемножить мантиссы (как перемножаются целые числа и числа с фиксированной точкой) и сложить порядки:

.

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

Деление. Деление выполняется в четыре этапа.

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

2. Вычисление частного мантисс: по правилу деления целых чисел (и чисел с фиксированной точкой).

3. Нормализация результата путём сдвига мантиссы и соответствующего изменения порядка (она аналогична нормализации при умножении).

4. Завершающее округление мантиссы.

3.3.4. Точность арифметических операций с числами в форме с плавающей точкой

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

Сложение и умножение в формате с плавающей точкой, как правило, не ведут к существенной потери точности результата. В то же время вычитание близких чисел (как и сложение близких по модулю чисел с разными знаками) может привести к значительному искажению результата.

Последнее имеет место, когда выравнивание порядков в (29) приводит к большому сдвигу разрядов мантиссы за пределы разрядной сетки. Возможным выходом в такой ситуации может служить принятие соглашения о том, что дробная часть может быть ненормализованной, если порядокимеет минимально возможное значение.

Характеристики точности представления. Пусть вещественное число представлено в компьютере приближённо (всегда рациональным) числом.

Абсолютной ошибкой (абсолютной погрешностью) представления называется число .

Относительной ошибкой (относительной погрешностью) представления называется число . При этом.

Значащими цифрами мантиссы нормализованного представления называются все цифры за исключением нулей в конце. Это связано с тем, что практика доставляет числа (например, физические константы в системе единиц СИ) в форме с фиксированной точкой и с нескольками цифрами после точки. Требование нормализованности мантиссы при машинном представлении вынуждает сдвигать точку влево, дописывать несколько нулей в конце и, соответственно, изменять порядок. В таком случае нули в конце мантиссы не несут никакой информации. Например, значение числа Авогадро (официально рекомендованное в 2010 г.) есть . Если для мантиссы отведено одиннадцать разрядов, то нормализованное представление имеет вид, при том, что фактически две последние цифры мантиссы неизвестны.