Конспект лекций по предмету "Информатика"


Пример 4.16

Установить распределение разрядов двоичного представления числа типа Real, если для его записи отводится 48 бит, а максимальное значение десятичного порядка 38. Какова точность обработки таких чисел?
· 2 бита расходуется на запись знака числа и порядка;
· согласно формуле (4.9), k2 = 3.322∙k10; поскольку k10 = 38, очевидно, максимальный показатель порядка двоичного числа k2 = 3.322∙38 = 12610, что требует в двоичном представлении, согласно формуле Хартли, 7 бит;
· под запись мантиссы отводится 48 - 2 - 7 = 39 бит;
· с учетом скрытого разряда точность обработки составит (39 + 1)/3,322 ≈ 12 десятичных разрядов.

Изначальной причиной возникновения погрешности обработки кодов вещественных чисел является ограниченность разрядной сетки при их представлении и, следовательно, наличие погрешности неизбежно. Однако ее величина зависит от количества имеющихся разрядов и, в частности, уменьшить погрешность можно за счет расширения разрядной сетки, т.е. выделения большего количества ячеек памяти для записи числа. Например, в языке PASCAL определен вещественный тип Extended, числа которого занимают 10 байт, что обеспечивает точность мантиссы до 20 десятичных знаков и значение модуля порядка до 4932. Несколько вариантов представления вещественных чисел в языках программирования высокого уровня используется как одно из средств оптимизации программы. Повышение точности вычислений требует больших ресурсов памяти компьютера; одновременно с этим возрастает и время вычислений. Таким образом, при составлении программы для практической задачи решается проблема нахождения компромисса между точностью результата и временем обработки.
В процессе выполнения арифметических действий с нормализованными числами отдельно обрабатываются мантиссы и порядки. Поскольку операции над кодами вещественных чисел в компьютере обладают некоторой спецификой по сравнению с обычными арифметическими, будем обозначать их следующим образом: Å - сложение (вычитание), Ä - умножение, Ø - деление.
Сложение нормализованных чисел.
Пусть имеются два числа Х1 = М1 ∙ pk1 и Х2 = М2 ∙ рk2 (здесь индексы у мантиссы и порядка означают не систему счисления, а служат номерами чисел). Сложение должно начинаться с выявления большего из k1 и k2, нахождения модуля их разности ∆k = |k1 – k2| и сдвига вправо на ∆k разрядов мантиссы того числа, у которого k оказался меньше. После этого выполняется сложение мантисс, порядку результата присваивается значение большего из имеющихся и при необходимости производится нормализация результата. Алгоритм сложения нормализованных чисел представлен в виде блок-схемы на рис.4.8. При сдвиге вправо мантиссы меньшего числа происходит потеря ∆k младших значащих цифр, что приводит к появлению погрешности сложения.



Рассмотрим действие алгоритма на примере сложения десятичных чисел в ограниченной разрядной сетке.


Не сдавайте скачаную работу преподавателю!
Данный конспект лекций Вы можете использовать для создания шпаргалок и подготовки к экзаменам.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем конспект самостоятельно:
! Как написать конспект Как правильно подойти к написанию чтобы быстро и информативно все зафиксировать.