1.4. Умножение чисел
Перемножить числа А и В, ограниченные старшими шестью разрядами. Перемножение производить в дополнительных кодах для всех случаев сочетания знаков, как в п.4.
Умножим числа A>0 и B>0. Ниже представлено умножение данных чисел.
|
|
|
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
|
|
|
|
|
|
1 |
0 |
0 |
1 |
0 |
|
|
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
|
|
|
|
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
Результат умножения А*B=10111101000(2)=1512(10), что соответствует результату умножения данных чисел в десятичной системе счисления.
Умножим числа A<0 и B>0. Ниже представлено умножение данных чисел.
|
|
|
|
|
0 |
1 |
0 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
0 |
|
|
|
|
0 |
1 |
0 |
1 |
1 |
0 |
0 |
|
|
0 |
1 |
0 |
1 |
1 |
0 |
0 |
|
|
|
|
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
Поскольку А<0 выполним корректировку полученного результата, осуществив вычитания из первых разрядов результата числа B, представлено ниже.
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
Не стоит забывать, что умножение производилось с отрицательным знаком, поэтому полученный результат также является отрицательным. Результат умножения А*B=-10111101000(2)=-1512(10), что соответствует результату умножения данных чисел в десятичной системе счисления.
Умножим числа A>0 и B<0. Ниже представлено умножение данных чисел.
|
|
|
|
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
|
|
|
|
|
|
|
0 |
1 |
1 |
1 |
0 |
|
|
|
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
|
|
|
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
|
|
|
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
|
|
|
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
Поскольку B<0 выполним корректировку полученного результата, осуществив вычитание из первых разрядов результата числа A, представлено ниже.
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
|
|
|
|
|
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
Не стоит забывать, что умножение производилось с отрицательным знаком, поэтому полученный результат также является отрицательным. Результат умножения А*B=-10111101000(2)=-1512(10), что соответствует результату умножения данных чисел в десятичной системе счисления.
Умножим числа A<0 и B<0. Ниже представлено умножение данных чисел.
|
|
|
|
|
0 |
1 |
0 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
0 |
1 |
1 |
1 |
0 |
|
|
|
|
0 |
1 |
0 |
1 |
1 |
0 |
0 |
|
|
|
|
0 |
1 |
0 |
1 |
1 |
0 |
0 |
|
|
|
|
0 |
1 |
0 |
1 |
1 |
0 |
0 |
|
|
|
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
Выполним корректировку полученного результата, представлено ниже.
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
Результат умножения А*B=10111101000(2)= 1512(10), что соответствует результату умножения данных чисел в десятичной системе счисления.
