|
~ |
|
|
|
|
|
0. |
1 |
1 |
1 |
0 |
|
Множимое [A]д |
||
|
|
|
|
|
|
0. |
1 |
1 |
0 |
1 |
0 |
Множитель [B]д |
|||
|
bi+1 - bi = bi |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
~ |
|
i=0 |
1 – 0 = 1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|
||
|
0 + [A]д b0 = П1 |
||||||||||||||
|
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
|
П1 2 |
|
|
|
i=1 |
1 – 1 = 0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
~ |
|
|
|
[A]дb1 |
~ |
|
||||||||||||
|
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
|
|
|
||
|
|
|
П1 2+ [A]дb1= П2 |
||||||||||||
|
|
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
|
П2 2 |
|
|
|
i=2 |
0 – 1 = -1 |
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|
~ |
|
|
|
[A]д b2 |
~ |
|
||||||||||||
|
|
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
|
|
= П3 |
||
|
|
|
П2 2+ [A]дb2 |
||||||||||||
|
|
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
|
П3 2 |
|
|
|
i=3 |
1 – 0 = 1 |
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
~ |
|
|
|
[A]д b3 |
~ |
|
||||||||||||
|
|
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
|
|
= П4 |
||
|
|
|
П3 2+[A]д b3 |
||||||||||||
|
|
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
|
П3 2 |
|
|
|
i=4 |
0 – 1 = -1 |
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|
~ |
|
|
|
[A]д b4 |
|
|
||||||||||||
|
|
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
|
Произведение |
|
Умножение чисел в обратном коде
Можно отметить три специфических варианта умножения чисел, представленных в обратном коде:
умножение с коррекцией результата в случае отрицательного множителя,
умножение с предварительным изменением знаков сомножителей в случае отрицательного множителя,
умножение с последовательным преобразованием множителя в случае отрицательного множителя.
1.Умножение чисел в обратном коде с коррекцией результата в случае отрицательного множителя [6, 10]
Впроцессе умножения используются только разряды, представляющие цифровую часть множителя (без разряда алгебраического знака), но во всех суммированиях, выполняемых по ходу умножения, множимое А участвует полностью с учетом знака.
Если В ≥ 0, то получаем сразу готовое произведение. Если В < 0, то необходимо выполнить коррекцию получаемого псевдопроизведения. Определим поправки, которые необходимо внести для коррекции псевдопроизведения.
Для отрицательного множителя В мы имеем
[B]о = 1. b0 b1… bn = 2 + В – 2-n .
25
Отсюда
В = 0. b0 b1… bn – 1 + 2-n
A × B = А (0. b0 b1… bn) – А + А 2-n .
Таким образом, при умножении на цифровую часть отрицательного множителя (0. b0 b1… bn) мы получаем псевдопроизведение А (0. b0 b1… bn). Для по-
лучения правильного произведения необходимо прибавить (– А + А 2-n). При выполнении вычитания обычным образом учитываются алгебраические знаки псевдопроизведения и множимого.
Проиллюстрируем этот метод каждым из четырех ранее рассмотренных способов умножения.
а) Умножение с младших разрядов множителя и сдвигом множимого влево
Выражение (17) является аналитическим представлением данного способа умножения для цифровой части множителя без учета возможной коррекции ре-
зультата: |
|
[П]о = [A]о × [B]о = 2-n {[A]о 2n-1 b1+ . . . +[A]о 21 bn-1+ [A]о 20 bn} |
(17) |
Проиллюстрируем этот способ умножения при различных сочетаниях знаков сомножителей за исключением случая, когда оба сомножителя положительны.
Пример 40. [A]о = 1.0001 [B]о = 1.0101
|
|
|
|
|
|
1 |
0 |
0 |
0 |
1 |
Множимое [A] |
|
|
|
|
|
|
|
. |
0 |
1 |
0 |
1 |
|
о |
|
|
|
|
|
|
Цифровая часть множителя [B] |
||||||
b4 = 1 |
|
|
|
|
|
|
|
|
|
|
о |
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
[A] |
20 b4 |
||
b3 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
о |
21 b3 |
|
[A] |
||||||||||||
b2 = 1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
о |
22 b2 |
|
[A] |
||||||||||||
b1 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
о |
23 b1 |
|
[A] |
||||||||||||
1 |
|
|
|
|
|
|
|
|
|
о |
|
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
|
|
||
|
|
|
|
|
|
|
|
|
|
1 |
Псевдопроизведение |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
|
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
||
|
|
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
Коррекция [-[A] ] |
|
1 |
|
|
|
|
|
|
|
|
|
|
о о |
|
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
|
|
||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
Коррекция [A] 2-n |
|
|
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
||
1 |
|
|
|
|
|
|
|
|
|
|
о |
|
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
|
||
|
|
|
|
|
|
|
|
|
|
1 |
Результат |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
[П]о = [A]о × [B]о = 0.10001100
26
Пример 41. [A]о = 0.1110 |
|
|
|
|
|
|
|
|
||||||
[B]о = 1.0101 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
0 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
. |
|
0 |
1 |
0 |
1 |
|
|
b4 = 1 |
|
|
|
|
|
|
||||||||
0 0 0 0 0 1 1 1 0 |
|
|
||||||||||||
b3 = 0 |
0 0 0 0 0 0 0 0 0 |
|
|
|||||||||||
b2 = 1 |
0 0 0 1 1 1 0 0 0 |
|
|
|||||||||||
b1 = 0 |
0 0 0 0 0 0 0 0 0 |
|
|
|||||||||||
|
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
|
|
||
|
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
|
|
|||
|
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
|
|
||
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|||
|
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|
|
||
[П]о = [A]о × [B]о = 1.01110011 |
|
|
|
|
|
|||||||||
Пример 42. [A]о = 1.0001 |
|
|
|
|
|
|
|
|
||||||
[B]о = 0.1010 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
. |
0 |
1 |
0 |
1 |
|
b4 = 0 |
|
|
|
0 |
0 |
0 |
0 |
0 |
0 0 0 0 |
|||||
b3 = 1 |
|
|
|
1 |
1 |
1 |
1 |
0 |
0 0 1 1 |
|||||
b2 = 0 |
|
|
|
0 |
0 |
0 |
0 |
0 |
0 0 0 0 |
|||||
b1 = 1 |
|
|
|
1 |
1 |
0 |
0 |
0 |
1 1 1 1 |
|||||
|
1 |
1 |
0 |
1 |
1 |
|
1 |
0 |
0 |
1 |
0 |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
1 |
0 |
1 |
1 |
|
1 |
0 |
0 |
1 |
1 |
[П]о = [A]о × [B]о = 1.01110011
Множимое [A]о
Цифровая часть множителя [B]о
[A]о 20 b4 [A]о 21 b3
[A]о 22 b2 [A]о 23 b1
Псевдопроизведение Коррекция [-[A]о]о
Коррекция [A]о2-n Результат
Множимое [A]о
Цифровая часть множителя [B]о
[A]о 20 b4 [A]о 21 b3
[A]о 22 b2 [A]о 23 b1
Результат
б) Умножение с младших разрядов множителя и сдвигом суммы частичных произведений вправо
Выражение (18) является аналитической записью данного алгоритма умножения (для цифровой части множителя без учета возможной коррекции результата):
[A]о×[B]о =((…((0 + [A]о bn) 2-1 + [A]о bn-1) 2-1 + … + [A]о b2) 2-1 + [A]о b1) 2-1 (18)
27
Проиллюстрируем этот способ умножения при различных сочетаниях знаков сомножителей за исключением случая, когда оба сомножителя положительны.
Пример 43. [A]о = 1.0001 [B]о = 0.1010
|
|
|
1 |
0 |
0 |
0 |
1 |
|
Множимое [A]о |
|
|
|
|
|
|
||||
|
|
|
. |
1 |
0 |
1 |
0 |
|
Цифровая часть множителя [B]о |
||||||||||
b4 = 0 |
0 0 0 0 0 0 0 0 0 0 |
0 + [А]м |
b |
4 |
= П |
1 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
||
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
П1 2-1 |
|
|
|
|
|
|
|
b3 = 1 |
1 1 0 0 0 1 1 1 1 1 |
[А]ом b3 |
|
|
|
|
|
|
|||||||||||
|
|
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
П |
2-1+ [А]м |
b |
3 |
=П |
|||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
о |
|
2 |
||
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
П2 2-1 |
|
|
|
|
|
|
|
b2 = 0 |
0 0 0 0 0 0 0 0 0 0 |
[А]ом b2 |
|
|
|
|
|
|
|||||||||||
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
П |
2-1+ [А]м |
b |
2 |
=П |
|||
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
о |
|
3 |
||
|
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
П3 2-1 |
|
|
|
|
|
|
|
b1 = 1 |
1 1 0 0 0 1 1 1 1 1 |
[А]ом b1 |
|
|
|
|
|
|
|||||||||||
! → 1 1 0 1 1 1 0 0 1 1 0 |
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2-1+ [А]м |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
П |
b |
1 |
=П |
||||
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
о |
|
4 |
||
|
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
П 2-1 − результат |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
[П]о = [A]до × [B]о = 1.01110011
При умножении по данному алгоритму следует обратить внимание на необходимость использования модифицированного обратного кода для множимого, поскольку при получении частичных произведений возможно временное переполнение разрядной сетки.
Использование модифицированного обратного кода позволяет его зафиксировать без потери знака. Это переполнение устраняется последующим сдвигом частичного произведения вправо (см. пример 43).
28
Пример 44. [A]о = 1.0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
[B]о = 1.0101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
1 |
0 |
0 |
0 |
1 |
|
Множимое [A]о |
|
|
|
|
|
|
|
||||
|
|
|
. |
0 |
1 |
0 |
1 |
|
Цифровая часть множителя [B]о |
|
||||||||||
b4 = 1 |
1 1 0 0 0 1 1 1 1 1 |
0 + [А]м |
b |
4 |
= П |
1 |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
||
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
П |
2-1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
b3 = 0 |
0 0 0 0 0 0 0 0 0 0 |
[А]ом b3 |
|
|
|
|
|
|
|
|||||||||||
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
П |
2-1+ [А]м |
b |
3 |
=П |
||||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
о |
|
|
2 |
||
|
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
П2 2-1 |
|
|
|
|
|
|
|
|
b2 = 1 |
1 1 0 0 0 1 1 1 1 1 |
[А]ом b2 |
|
|
|
|
|
|
|
|||||||||||
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2-1+ [А]м |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
П |
b |
2 |
=П |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
о |
|
|
3 |
||
|
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
П3 2-1 |
|
|
|
|
|
|
|
|
b1 = 0 |
0 0 0 0 0 0 0 0 0 0 |
[А]ом b1 |
|
|
|
|
|
|
|
|||||||||||
|
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
П |
2-1+ [А]м |
b |
1 |
=П |
||||
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
о |
|
|
4 |
||
|
|
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
П 2-1 − псевдопроизведение |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
Коррекция [−[А]м |
]м |
|||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о |
о |
||
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
Коррекция [A]о2-n |
|
|||||||
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
|||||||||
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
1 |
Результат |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
[П]о = [A]о × [B]о = 0.10001100
29
Пример 45. [A]о = 0.1110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
[B]о = 1.0101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
0 |
1 |
1 |
1 |
0 |
|
Множимое [A]о |
|
|
|
|
|
|
|
||||
|
|
. |
0 |
1 |
0 |
1 |
|
Цифровая часть множителя [B]о |
|
||||||||||
b4 = 1 |
0 0 1 1 1 0 0 0 0 0 |
0 + [А]м |
b |
4 |
= П |
1 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
||
|
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
П1 2-1 |
|
|
|
|
|
|
|
|
b3 = 0 |
0 0 0 0 0 0 0 0 0 0 |
[А]ом b3 |
|
|
|
|
|
|
|
||||||||||
|
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
П |
2-1+ [А]м |
b |
3 |
=П |
||||
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
о |
|
|
2 |
||
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
П2 2-1 |
|
|
|
|
|
|
|
|
b2 = 1 |
0 0 1 1 1 0 0 0 0 0 |
[А]ом b2 |
|
|
|
|
|
|
|
||||||||||
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
П |
2-1+ [А]м |
b |
2 |
=П |
||||
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
о |
|
|
3 |
||
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
П3 2-1 |
|
|
|
|
|
|
|
|
b1 = 0 |
0 0 0 0 0 0 0 0 0 0 |
[А]ом b1 |
|
|
|
|
|
|
|
||||||||||
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
П |
2-1+ [А]м |
b |
1 |
=П |
||||
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
о |
|
|
4 |
||
|
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
П 2-1 − псевдопроизведение |
||||||||
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
Коррекция [−[А]м |
]м |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о |
о |
|
|
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
Коррекция [A]о2-n |
|
|||||||
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
||||||||
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
Результат |
|
|
|
|
|
|
|
[П]о = [A]до × [B]о = 1.01110011
в) Умножение со старших разрядов множителя и сдвигом множимого вправо
Выполнение умножения по данному способу в обратном коде для цифровой части множителя без учета возможной коррекции результата можно представить выражением (19):
[A] |
× [B] |
о |
= [A] 2-1 |
b |
+ [A] |
2-2 b |
+ … + [A] 2-n+1 b |
n-1 |
+ [A] 2-n b |
n |
(19) |
о |
|
о |
1 |
о |
2 |
о |
о |
|
Проиллюстрируем этот способ умножения при различных сочетаниях знаков сомножителей за исключением случая, когда оба сомножителя положительны.
30
Пример 46. [A]о = 1.0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
[B]о = 1.0101 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
1 |
0 |
0 |
0 |
1 |
|
Множимое [A]о |
|
|
|
|
|||
|
|
. |
0 |
1 |
0 |
1 |
|
Цифровая часть множителя [B]о |
|||||||
b1 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
[A] |
2-1 b |
1 |
||
b2 = 1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
о |
2-2 |
|
||
|
[A] |
b |
2 |
||||||||||||
b3 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
о |
2-3 |
|
||
|
[A] |
b |
3 |
||||||||||||
b4 = 1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
о |
2-4 |
|
||
|
[A] |
b |
4 |
||||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
о |
|
|
||
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
1 |
|
Псевдопроизведение |
|||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
|
||||
|
|
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|
Коррекция [-[A]о]о |
|||
|
|
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
|
Коррекция [A]о2-n |
|||
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
|||||
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
1 |
|
Результат |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
|
|
[П]о = [A]о × [B]о = 0.10001100
Пример 47. [A]о = 0.1110 |
|
|
|
|
|
|
|
|
|
|
|
|
||
[B]о = 1.0101 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
0 |
1 |
1 |
1 |
0 |
|
Множимое [A]о |
|
|
|
|
|||
|
. |
0 |
1 |
0 |
1 |
|
Цифровая часть множителя [B]о |
|||||||
b1 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
[A] |
2-1 |
b |
1 |
b2 = 1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
|
о |
2-2 |
|
|
|
[A] |
b |
2 |
|||||||||||
b3 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
о |
2-3 |
|
|
|
[A] |
b |
3 |
|||||||||||
b4 = 1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
о |
2-4 |
|
|
|
[A] |
b |
4 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
|
Псевдопроизведение |
|||
|
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
|
Коррекция [-[A]о]о |
|||
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
|
Коррекция [A]о2-n |
|||
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
||||
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|
Результат |
|
[П]о = [A]до × [B]о = 1.01110011
31
Пример 48. [A]о = 1.0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
[B]о = 0.1010 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
1 |
0 |
0 |
0 |
1 |
|
Множимое [A]о |
|
|
|
|
|||
|
|
. |
1 |
0 |
1 |
0 |
|
Цифровая часть множителя [B]о |
|||||||
b1 = 1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
[A] |
2-1 |
b |
1 |
|
b2 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
о |
2-2 |
|
||
|
[A] |
b |
2 |
||||||||||||
b3 = 1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
|
о |
2-3 |
|
||
|
[A] |
b |
3 |
||||||||||||
b4 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
о |
2-4 |
|
||
|
[A] |
b |
4 |
||||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
о |
|
|
||
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
1 |
|
Результат |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|
|
[П]о = [A]до × [B]о = 1.01110011
г) Умножение со старших разрядов множителя и сдвигом суммы частичных произведений влево
Аналитическая запись умножения для цифровой части множителя без учета возможной коррекции результата представлена выражением (20):
[A]о×[B]о = 2-n {(…((0+ [A]о b1) 2+1+ [A]о b2) 2+1+…+ [A]о bn-1) 2+1 + [A]о bn} (20)
Проиллюстрируем этот способ умножения при различных сочетаниях знаков сомножителей за исключением случая, когда оба сомножителя положительны.
Пример 49. [A]о = 1.0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
[B]о = 0.1010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
1 |
0 |
0 |
0 |
1 |
Множимое [A] |
|
|
|||||||
|
|
|
|
|
|
. |
1 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
Цифровая часть множителя [B] |
||||||||||||||
b1 = 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 + [A] |
b |
|
=П |
|
|||||||
|
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
П |
2 |
о |
1 |
|
|
1 |
|||
|
|
|
|
|
|
|
|
|
||||||||||||
b2 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
[A] |
b |
2 |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
П |
2 + [A] |
о |
b |
2 |
= П |
||||
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
2 |
|
|
|
2 |
||||
|
|
П |
|
|
|
|
|
|
|
|||||||||||
b3 = 1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
[A] |
b |
3 |
|
|
|
|
|
|
||||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
||
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
П |
2 + A] b |
=П |
|||||||
|
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
2 |
|
|
|
о |
|
3 |
|
3 |
|
|
|
П |
2 |
|
|
|
|
|
|
|
||||||||||
b4 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
3 |
|
|
|
|
|
|
|
|
|
|
[A] |
b |
4 |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
− произведение |
||
|
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
П |
2+[A] b |
4 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
о |
|
|
|
|
[П]о = [A]о × [B]о = 1.01110011
32
Пример 50. [A]о = 1.0001 |
|
|
|
|
|
|
||||
[B]о = 1.0101 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
1 |
0 |
0 |
0 |
1 |
|
|
|
|
|
|
. |
0 |
1 |
0 |
1 |
b1 = 0 |
0 0 0 0 0 0 0 0 0 |
|||||||||
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
b2 = 1 |
1 1 1 1 1 0 0 0 1 |
|||||||||
|
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
b3 = 0 |
0 0 0 0 0 0 0 0 0 |
|||||||||
|
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
b4 = 1 |
1 1 1 1 1 0 0 0 1 |
|||||||||
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
|
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
[П]о = [A]о × [B]о = 0.10001100
Множимое [A]о
Цифровая часть множителя [B]о
0 + [A]о b1=П1
П1 2 [A]о b2
П1 2 + [A]о b2 = П2
П2 2 [A]о b3
П2 2 + A]о b3=П3
П3 2 [A]о b4
П3 2+[A]о b4 − псевдопроизведение Коррекция [-[A]о]о
Коррекция [A]о2-n
Результат
33
Пример 51. [A]о = 0.1110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
[B]о = 1.0101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
0 |
1 |
1 |
1 |
0 |
Множимое [A] |
|
|
|||||||
|
|
|
|
|
|
. |
0 |
1 |
0 |
1 |
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
Цифровая часть множителя [B] |
||||||||||||||
b1 = 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 + [A] |
b |
|
=П |
|
||||||
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
П |
2 |
о |
1 |
|
|
1 |
||||
|
|
|
|
|
|
|
|
|||||||||||||
b2 = 1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
[A] |
b |
2 |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
П |
2 + [A] |
о |
b |
2 |
= П |
||||
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
|
|
|
|
|
2 |
||||
|
П |
2 |
|
|
|
|
|
|
|
|||||||||||
b3 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
|
|
|
|
|
|
|
|
|
|
[A] |
b |
3 |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
П |
2 + A] b |
=П |
|||||||
|
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
2 |
|
|
|
о |
|
3 |
|
3 |
||
|
П |
2 |
|
|
|
|
|
|
|
|||||||||||
b4 = 1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
3 |
|
|
|
|
|
|
|
|
|
|
[A] |
b |
4 |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
П3 2+[A]о b4 − псевдопроизведение |
||||||||||
|
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
Коррекция [-[A] ] |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о о |
|
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
Коррекция [A] 2-n |
|||||||||
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
Результат |
|
|
|
о |
|
||||
|
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|
|
|
|
|
[П]о = [A]о × [B]о = 1.01110011
2. Умножение чисел в обратном коде с предварительным изменением знаков сомножителей в случае отрицательного множителя [5, 9]
Коррекцию можно вообще исключить, если при отрицательном множителе провести изменением знаков сомножителей на противоположные. В этом случае следует проводить анализ знаков сомножителей и дополнительные операции преобразования кодов сомножителей.
3. Умножение чисел в обратном коде с последовательным преобразованием множителя в случае отрицательного множителя [7]
При умножении по данному алгоритму преобразованное значение текущего разряда множителя b̃i зависит от знака множителя (значения разряда b0).
Если знак положительный (b0 = 0), то b̃i = bi. При отрицательном знаке множителя (b0 = 1)
b̃i = 0, если bi = 1;
b̃i = -1, если bi = 0.
Заметим, что в данном алгоритме умножения отсутствуют отдельная операция определения знака произведения. Знак формируется автоматически в процессе умножения, так как множимое А в операции участвуют с учетом знака.
34
Проиллюстрируем этот метод каждым из четырех ранее рассмотренных способов умножения. При этом в примерах ограничимся случаем отрицательного множителя, поскольку реализация умножения на положительный множитель полностью совпадает с аналогичным умножением, изложенным в разделе умножения чисел в обратном коде с коррекцией результата (см. примеры 30, 31, 36, 37).
а) Умножение с младших разрядов множителя и сдвигом множимого влево
Выражение (21) является аналитическим представлением данного способа умножения:
[П]о = [A]о × [B]о = 2-n {[A]о 2n-1 b1̃+ . . . +[A]о 21 bñ-1+ [A]о 20 bñ} |
(21) |
||||||||||||||||
Если знак положительный (b |
0 |
= 0), то b̃= b |
. |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
i i |
|
|
|
|
|
|
||
При отрицательном знаке множителя (b0 = 1) |
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
b̃= 0, если b |
i |
|
= 1; |
|
|||||
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b̃= -1, если b |
i |
= 0. |
|
||||||
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
Пример 52. [A]о = 1.0001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
[B]о = 1.0101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
1 |
|
0 |
0 |
0 |
1 |
|
Множимое [A] |
|
||||
|
|
|
|
|
1 |
|
0 |
1 |
0 |
1 |
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
Множитель [B] |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
b4̃= 0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
|
[A] |
20 b̃ |
|
|||
0 |
0 |
0 |
0 |
1 |
|
1 |
1 |
0 |
0 |
|
|
|
|
о |
4 |
|
|
b̃3 = -1 |
|
|
[A] |
21 b̃ |
|
||||||||||||
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
|
|
|
|
о |
3 |
|
|
b̃2 = 0 |
|
|
[A] |
22 b̃ |
|
||||||||||||
0 |
0 |
1 |
1 |
1 |
|
0 |
0 |
0 |
0 |
|
|
|
|
о |
2 |
|
|
b̃1 = -1 |
|
|
[A] |
23 b̃ |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о |
1 |
|
|
|
0 |
1 |
0 |
0 |
0 |
|
1 |
1 |
0 |
0 |
|
Результат |
|
[П]о = [A]о × [B]о = 0.10001100 |
|
|
|
|||||||
Пример 53. [A]о = 0.1110 |
|
|
|
|
|
|
||||
[B]о = 1.0101 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
0 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
1 |
0 |
1 |
0 |
1 |
b̃4 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
b̃3 = -1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
|
b̃2 = 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
b̃1 = -1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
Множимое [A]о
Множитель [B]о
[A]о 20 b̃4 [A]о 21 b̃3 [A]о 22 b̃2 [A]о 23 b̃1
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
Результат |
[П]о = [A]о × [B]о = 1.01110011
35
б) Умножение с младших разрядов множителя и сдвигом суммы частичных произведений вправо
Выражение (22) является аналитической записью данного алгоритма умножения:
[A]о×[B]о =((…((0 + [A]о b̃n) 2-1 + [A]о b̃n-1) 2-1 + … + [A]о b̃2) 2-1 + [A]о b̃1) 2-1 (22)
Если знак положительный (b0 = 0), то b̃i = bi. При отрицательном знаке множителя (b0 = 1)
|
|
|
|
|
|
b̃= 0, если b |
i |
|
= 1; |
|
|
|
|||||
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b̃= -1, если b |
i |
= 0. |
|
|
|
||||||
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
Пример 54. [A]о = 0.1110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
[B]о = 1.0101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
0 |
1 |
1 |
1 |
0 |
|
Множимое [A]о |
|
|
||||||
|
|
|
1 |
0 |
1 |
0 |
1 |
|
Множитель [B]о |
м |
|
||||||
b̃= 0 |
0 0 0 0 0 0 0 0 0 0 |
|
|
|
|||||||||||||
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 + [А]о b4̃= П1 |
||
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
П1 2-1 |
|
|
||
b̃= -1 |
1 1 0 0 0 1 1 1 1 1 |
|
м |
b3̃ |
|
||||||||||||
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[А]о |
|
|
|
|
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
|
П 2-1+ [А]м |
b3̃=П |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
о |
2 |
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
П2 2-1 |
|
|
||
b̃= 0 |
0 0 0 0 0 0 0 0 0 0 |
|
м |
b2̃ |
|
||||||||||||
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[А]о |
|
|
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
П 2-1+ [А]м |
b2̃=П |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
о |
3 |
|
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
П3 2-1 |
|
|
||
b̃= -1 |
1 1 0 0 0 1 1 1 1 1 |
|
м |
b1̃ |
|
||||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[А]о |
|
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
П 2-1+ [А]м |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
|
b1̃=П |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
о |
4 |
|
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
|
П 2-1 |
− результат |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
[П]о = [A]до × [B]о = 1.01110011
Пример 55. [A]о = 1.0001 [B]о = 1.0101
36
|
|
1 |
0 |
0 |
0 |
1 |
|
Множимое [A]о |
|
|
|||
|
|
1 |
0 |
1 |
0 |
1 |
|
Множитель [B]о |
м |
|
|||
b̃= 0 |
0 0 0 0 0 0 0 0 0 0 |
|
|
||||||||||
4 |
|
|
|
|
|
|
|
|
|
|
0 + [А]о b4̃= П1 |
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
П1 2-1 |
|
|
b̃= -1 |
0 0 1 1 1 0 0 0 0 0 |
м |
b3̃ |
|
|||||||||
3 |
|
|
|
|
|
|
|
|
|
|
[А]о |
|
|
|
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
П 2-1+ [А]м b3̃=П |
||
|
|
|
|
|
|
|
|
|
|
|
1 |
о |
2 |
|
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
П2 2-1 |
|
|
b̃= 0 |
0 0 0 0 0 0 0 0 0 0 |
м |
b2̃ |
|
|||||||||
2 |
|
|
|
|
|
|
|
|
|
|
[А]о |
|
|
|
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
П 2-1+ [А]м b2̃=П |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
о |
|
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
П3 2-1 |
|
|
b̃= -1 |
0 0 1 1 1 0 0 0 0 0 |
м |
b1̃ |
|
|||||||||
1 |
|
|
|
|
|
|
|
|
|
|
[А]о |
|
|
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
П 2-1+ [А]м b1̃=П |
||
|
|
|
|
|
|
|
|
|
|
|
3 |
о |
4 |
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
П 2-1 |
− результат |
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
[П]о = [A]о × [B]о = 0.10001100
в) Умножение со старших разрядов множителя и сдвигом множимого вправо
Выполнение умножения по данному способу в обратном коде для цифровой части множителя можно представить выражением (23):
[A]о × [B]о = [A]о 2-1 b̃1 + [A]о 2-2 b̃2 + … + [A]о 2-n+1 b̃n-1 + [A]о 2-n b̃n (23)
Если знак положительный (b0 = 0), то b̃i = bi. При отрицательном знаке множителя (b0 = 1)
b̃i = 0, если bi = 1; b̃i = -1, если bi = 0.
Пример 56. [A]о = 1.0001 |
|
|
|
|
|
|
|
|
|
|
|
||
[B]о = 1.0101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
0 |
1 |
|
Множимое [A]о |
|
|
|||
|
|
1 |
0 |
1 |
0 |
1 |
|
Множитель [B]о |
2-1 |
|
|||
b̃1 = -1 |
|
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
[A] |
b̃ |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
о |
2-2 |
1 |
||
b̃2 = 0 |
[A] |
b̃ |
|||||||||||
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
о |
2-3 |
2 |
||
b̃3 = -1 |
[A] |
b̃ |
|||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
о |
2-4 |
3 |
||
b̃4 = 0 |
[A] |
b̃ |
|||||||||||
|
|
|
|
|
|
|
|
|
о |
|
4 |
||
|
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
Результат |
[П]о = [A]о × [B]о = 0.10001100
37
Пример 57. [A]о = 0.1110 |
|
|
|
|
|
|
|
|
|
|
|
|
||
[B]о = 1.0101 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
0 |
1 |
1 |
1 |
0 |
|
Множимое [A]о |
|
|
|||
|
|
|
1 |
0 |
1 |
0 |
1 |
|
Множитель [B]о |
2-1 |
|
|||
b1̃= -1 |
|
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
[A] |
b̃ |
||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
о |
2-2 |
1 |
|||
b̃2 = 0 |
[A] |
b̃ |
||||||||||||
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
о |
2-3 |
2 |
|||
b̃3 = -1 |
[A] |
b̃ |
||||||||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
о |
2-4 |
3 |
|||
b̃4 = 0 |
[A] |
b̃ |
||||||||||||
|
|
|
|
|
|
|
|
|
о |
|
4 |
|||
1 |
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
Результат |
||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
[П]о = [A]до × [B]о = 1.01110011
г) Умножение со старших разрядов множителя и сдвигом суммы частичных произведений влево
Аналитическая запись умножения представлена выражением (24): [A]о×[B]о = 2-n {(…((0+ [A]о b̃1) 2+1+ [A]о b̃2) 2+1+…+ [A]о b̃n-1) 2+1 + [A]о b̃n} (24)
Если знак положительный (b0 = 0), то b̃i = bi. При отрицательном знаке множителя (b0 = 1)
b̃i = 0, если bi = 1; b̃i = -1, если bi = 0.
Пример 58. [A]о = 1.0001 [B]о = 1.0101
|
|
|
|
|
1 |
0 |
0 |
0 |
1 |
Множимое [A] |
||||
|
|
|
|
|
1 |
0 |
1 |
0 |
1 |
|
|
|
|
о |
|
|
|
|
|
Множитель [B] |
|||||||||
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
о |
b̃1 = -1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 + [A] |
b̃=П |
||||
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
П |
о |
1 |
1 |
||
|
2 |
|
|
|
||||||||||
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
|
|
|
b̃2 = 0 |
[A]о b2 |
|
|
|
||||||||||
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
П |
2 + [A] |
о |
b2̃= П |
|
|
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
|
2 |
|
|
П |
2 |
|
|
|
|||||||||
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
2 |
|
|
|
|
b̃3 = -1 |
[A]о b3 |
|
|
|
||||||||||
|
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
П |
2 + A] b3̃=П |
|||
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
2 |
|
о |
3 |
|
|
П |
2 |
|
|
|
|||||||||
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
3 |
|
|
|
|
b̃4 = 0 |
[A]о b4 |
|
|
|
||||||||||
|
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
П |
2+[A] b4̃− произведение |
|||
|
|
|
|
|
|
|
|
|
|
3 |
|
о |
|
|
[П]о = [A]о × [B]о = 0.10001100
38
Пример 59. [A]о = 0.1110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
[B]о = 1.0101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
1 |
0 |
0 |
0 |
1 |
Множимое [A] |
|||||
|
|
|
|
|
|
1 |
1 |
0 |
1 |
0 |
|
|
|
|
|
о |
|
|
|
|
|
|
Множитель [B] |
||||||||||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
о |
b̃1 = -1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 + [A] b̃=П |
|||||||
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
П |
|
о |
1 |
1 |
|||
|
|
2 |
|
|
|
|||||||||||
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
|
|
|
|
b̃2 = 0 |
[A] |
b̃ |
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
1 |
|
о |
2 |
|
|
|
||
|
|
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
П |
2 + [A] |
о |
b2̃= П |
|||
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
|
|
2 |
|
|
|
П |
2 |
|
|
|
||||||||||
|
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
2 |
|
|
|
|
|
b̃3 = -1 |
[A] |
b̃ |
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
о |
3 |
|
|
|
||
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
||||
|
|
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
П |
2 + A] b3̃=П |
|||||
|
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
2 |
|
|
о |
3 |
|
|
|
П |
2 |
|
|
|
||||||||||
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
3 |
|
|
|
|
|
b̃4 = 0 |
[A] |
b̃ |
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
1 |
|
о |
4 |
|
b4̃− произведение |
|||
|
|
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
П |
2+[A] |
|
||||
|
|
|
|
|
|
|
|
|
|
|
3 |
|
о |
|
|
[П]о = [A]о × [B]о = 1.01110011
39