关于补码(有符号)乘法遇到的疑惑

《深入理解计算机系统》第61页

表格第一行的补码-3与3相乘得到的-9不知道是怎么它用补码是怎么计算的。


查了一些资料后发现补码的乘法运算是这样的:


关于补码(有符号)乘法遇到的疑惑_第1张图片


1. 和普通乘法不同,补码乘法需要拓展前面的位,即符号拓展(在表示中添加最高有效位的值的副本),不能默认为0。

2. 因为Y2的权重是-2^(w - 1),所以后面要减去。

所以关于 -3(101)与3(011)乘法步骤如下:

                    1   0    1

            X      0   1    1

---------------------------

   1   1    1    1    0    1

   1    1    1    0    1

+ 0    0   0    0

-----------------------------

    1    1    0   1   1   1

你可能感兴趣的:(关于补码(有符号)乘法遇到的疑惑)