我正在尝试学习二进制乘法,2 的补负数。
-10
x 3
我知道有一种简单的方法可以做到这一点。如符号扩展和初始部分产品。
-10 0110 twos complement
x 3 x 0011
---- ------
000000 (initial partial product) with sign extension at the MSB
10110 (bit 0 of the 3 times 10, sign extended at MSB)
110110 (sign extended sum of initial partial product and
Multiplicand)
10110- (bit 1 of the 3 multiplied by the 10. sign extension at the MSB Note the
Multiplicand is shifted left by one bit)
我不知道如何继续。我什至不确定到目前为止我是否完全正确。有人可以告诉我如何逐步进行吗?我不想以任何其他方式进行。如果我按照传统方式来做,大数字可能会很糟糕。谢谢
最佳答案
您对 -10 的解释不正确。
..11110110 (-10)
× 00000011 (3)
-------------
..11110110 (-10)
+ ..111101100 (-20)
-------------
..11100010 (-30)
关于二进制乘法,2的补码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3899401/