二进制补码二进制乘法

时间:2014-02-03 02:58:26

标签: binary twos-complement

我对使用带二进制补码的二进制乘法在以下问题中出错的地方感到困惑。

我正在尝试乘以12 * -6

我们知道12 = 01100-6 = 11010,并且签名扩展我们得到00000 01100 * 11111 11010。我尝试将这两个数字相乘如下:

     1111111010
   x 0000001100
   ------------
     0000000000
    0000000000
   1111111010
+ 1111111010
---------------
 10111110111000

这绝对不是-72,所以我做错了什么?

1 个答案:

答案 0 :(得分:1)

从左侧删除不适合数据类型的数字:

10111110111000

截断为

1110111000

你会发现这确实是-72