Вычислительные машины, системы и сети. Часть 1. Ветров А.Н. - 9 стр.

UptoLike

Составители: 

_1,00110
1
[Х + Y]
обр
= 1,00101; [Х + Y]
пр
= 1,11010; Х + Y = –0,11010.
Итак, выполняется следующий набор микроопераций:
1) образуется дополнительный код первого слагаемого;
2) преобразуется второе слагаемое;
3) осуществляется поразрядное суммирование;
4) вычитается единица из младшего разряда суммы (в случае отрицательного результата);
5) производится обратное преобразо вание суммы чисел в прямой код.
Не всегда используется в машине весь набор микроопераций, как было показано на примерах; кроме того, перечислен-
ные действия не отражают специфику работы узловых схем и устройств управления операций сложения.
В машине с плавающей запятой действие сложения и вычитания над числами в полулогарифмической форме сво-
дится к следующим операциям и преобразованиям:
1) производится сравнение порядков чисел, если необходимо их выравнивание, а следовательно, и сдвиги мантисс;
2) далее выполняются операции сложения и вычитания над мантиссами чисел, как было показано выше, в обратном или
дополнительном коде;
3) сумма, полученная в результате, нормализуется.
Пример: Х = –0,010011 · 10
100
, Y = 0,001011 · 10
110
.
Начинать сложение чисел Х и Y сразу же нельзя, так как порядки у чисел разные, а следовательно, положения запятой у чисел неоди-
наковы. В нашем примере следует уменьшить на два порядок числа Y, а следовательно, сдвинуть мантиссу числа Y влево на два разряда,
тем самым увеличив её значение:
Y = 0,101100 · 10
100
; Х = –0,010011 · 10
100
.
Суммируем мантиссы чисел в дополнительном коде.
Мантиссы
Дополнительный
код
Сложение
m
x
= 1,010011
+
m
y
= 0,101100
m
x
+ m
у
= 0,011001
Результат
Х + Y = 0,011001 · 10
100
Сдвиг
Х + Y = 0,11001 · 10
11
1,101101
0,101100
1,101101
+
0,101100
10,011001
Сдвигом влево мантиссы суммы на один разряд проведена нормализация, следовательно, порядок уменьшен на едини-
цу.
Умножение чисел в ЭВМ с фиксированной запятой представляет собой многократное суммирование и сдвиг проме-
жуточной суммы влево или вправо в зависимости от того, рассматривается множитель со старших или с младших разрядов.
Рассмотрим пример, где множитель рассматривается:
а) с младших разрядов;
б) со старших разрядов:
а) х = 1011
2
= 11
10
у = 110
2
= 6
10
=
1
0000
=
2
10110
1011
==
3
10
2
66
1000010
1011
б) 1011
=
1
1011
110
=
2
100001
1011
==
3
10
2
66
1000010
0000
Независимо от способа организации умножения полученная промежуточная сумма каждый раз суммируется со сдвину-
тым на один разряд множимым.
В машине с плавающей запятой произведение двух чисел будет: П =
,
21
21
pp
qqmm
так как Х
1
=
p
qm
1
1
, Y
2
=
.
2
2
p
qm
Процесс умножения начинается в машине с определения знака произведения путём суммирования по модулю двух дво-
ичных чисел, изображающих знак:
(+)·(+) = (+); 0 + 0 = 0;
(+)·(–) = (–); 0 + 1 = 1;
(–)·(+) = (–); 1 + 0 = 1;
(–)·(–) = (+); 1 + 1 = 1.