
Задание 1.5
Перемножить двоичные числа А и В, ограниченные старшими шестью разрядами. Перемножение производить в дополнительных кодах для всех случаев сочетания знаков, как в п. 4.
[Aм]=00.101001 – мантисса числа А,
[Ап]=00.0111 – порядок числа А.
[Bм]=00.110001 – мантисса числа В,
[Bп]=00.0101 – порядок числа В.
Пусть C1=AB, С2=(–А)(В), С3=А(–В); С4=(–А)(–В).
Решение
Для выполнения операций используем модифицированный дополнительный код.
Предварительный порядок произведения определяется суммой порядков множителей.
[Cп’]=
00.0111 [Ап]ДК
+ 00.0101 [Вп]ДК
00.1100 сумма порядков в ДК
00.1100 сумма порядков в ПК
Знак произведения определяется знаками мантисс множителей.
Определим абсолютное значение мантиссы произведения:
[|Cм’|]=
101001 [|Ам’|]ДК
110001 [|Вм’|]ДК
000000 начальное промежуточное произведение
+ 101001 первый разряд множителя равен единице
101001 промежуточное произведение
0101001 сдвинутое промежуточное произведение
00101001 второй разряд равен нулю, сдвиг
000101001 третий разряд равен нулю, сдвиг
0000101001 четвертый разряд равен нулю, сдвиг
+ 101001 пятый разряд множителя равен единице
1010111001 промежуточное произведение
01010111001 сдвинутое промежуточное произведение
+ 101001 шестой разряд множителя равен единице
11111011001 промежуточное произведение
011111011001 сдвинутое промежуточное произведение
Полученный результат денормализован, поэтому абсолютное значение мантиссы произведения с учетом сдвига и округления до шести разрядов равно [|Cм|]=00.111110, а величина порядка, уменьшенная на единицу составит [Cп]=00.1011.
Знаки мантисс одинаковы, поэтому знак С1 – положительный.
С1={[C1п]ПК=00.1011, [С1м]ПК=00.111110}
[–АМ]ДК=11.010111
[C2м’]ДК=
010111 [|–Ам’|]ДК
110001 [|Вм’|]ДК
000000 начальное промежуточное произведение
+ 010111 старший разряд множителя равен единице
010111 промежуточное произведение
0101110 сдвинутое промежуточное произведение
+ 010111 следующий разряд множителя равен единице
1000101 промежуточное произведение
10001010 сдвинутое промежуточное произведение
100010100 следующий разряд равен нулю, сдвиг
1000101000 следующий разряд равен нулю, сдвиг
10001010000 следующий разряд равен нулю, сдвиг
+ 010111 следующий разряд множителя равен единице
10001100111 промежуточное произведение
100011001110 сдвинутое промежуточное произведение(ДК)
Переходим к ПК [C2м’]ПК=11.011100110010
Полученный результат денормализован, поэтому значение мантиссы произведения с учетом сдвига и округления до шести разрядов равно [C2м]=11.111110, а величина порядка, уменьшенная на единицу составит [Cп]=00.1011.
С2={[C2п]ПК=00.1011, [С2м]ПК=11.111110}
[–BМ]ДК=11.001111
[C3м’]ДК=
101001 [|Ам’|]ДК
001111 [|–Вм’|]ДК
000000000000 начальное промежуточное произведение
101001 младший разряд равен единице
000000101001 промежуточное произведение
+ 1010010 следующий разряд множителя равен единице
000001111011 промежуточное произведение
+ 10100100 следующий разряд множителя равен единице
000100011111 промежуточное произведение
+ 101001000 следующий разряд множителя равен единице
001001100111 промежуточное произведение
Переходим к ПК [C3м’]ПК=11.110110011001
Полученный результат денормализован, поэтому значение мантиссы произведения с учетом сдвига и округления до шести разрядов равно [C2м]=11.111110, а величина порядка, уменьшенная на единицу составит [Cп]=00.1011.
С3={[C3п]ПК=00.1011, [С3м]ПК=11.111110}
[–АМ]ДК=11.010111
[–BМ]ДК=11.001111
[C4м’]ДК=
010111 [|Ам’|]ДК
001111 [|–Вм’|]ДК
010111 младший разряд равен единице
+ 010111 следующий разряд множителя равен единице
+ 010111 следующий разряд множителя равен единице
+ 010111 следующий разряд множителя равен единице
000101011001 промежуточное произведение
Переходим к ПК [C3м’]ПК=00.111010100111
Полученный результат денормализован, поэтому значение мантиссы произведения с учетом сдвига и округления до шести разрядов равно [C2м]=11.111110, а величина порядка, уменьшенная на единицу составит [Cп]=00.1011.
С4={[C4п]ПК=00.1011, [С4м]ПК=00.111110}