Page 45 - ЭВМ
P. 45
Выполнение операций над числами в формате с плавающей
запятой. Представление числа x в формате с плавающей запятой
предполагает указание знака числа зн(x), мантиссы числа m(x) и по-
рядка числа r(x) [2; 4; 5]. Порядок числа определяет положение точки,
отделяющей в смешанном числе целую часть от дробной части.
Как правило, требуется, чтобы мантисса была нормализована
(2 – 1 ≤ m(x) < 1):
Длина разрядной сетки полей знака, порядка и мантиссы может
составлять, например:
зн – 1 разряд
r(x) – 7 (k) разрядов 32 разряда
m(x) – 24 (l) разряда
Рассмотрим операции сложения, умножения и деления чисел
с плавающей запятой.
1. Сложение чисел, представленных в форме с плавающей запятой:
z = x + y
x = зн(x) 2r(x) m(x),
y = зн(y) 2r(y) m(y),
z = зн(z) 2r(z) m(z),
пусть зн(х) = зн(y) = 0.
Алгоритм сложения выглядит следующим образом:
1) сравнить r(x) и r(y); получить r = r(x) – r(y);
2) если r > 0, то сдвинуть мантиссу m(y) вправо на r позиций,
если r < 0, то сдвинуть мантиссу m(x) вправо на r позиций;
3) получить результирующую мантиссу m(z) = m(x) + m(y).
При сложении мантисс может произойти перенос из старшего
разряда результирующей мантиссы m(z). Тогда необходимо нормали-
зовать мантиссу (сдвинуть вправо на 1 разряд) и увеличить результи-
рующий порядок r(z), равный большему порядку мантисс, на 1. При
этом может произойти перенос из старшего разряда результирующего
порядка, что приводит к переполнению разрядной сетки порядка, т. е.
к переполнению результата.
2. Умножение чисел, представленных в форме с плавающей запятой:
z = x·y
r(x)
x = зн(x) q m(x)
45