二进制乘法,2的补码

标签 binary twos-complement

我正在尝试学习二进制乘法,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/

相关文章:

c - 这个二进制转十进制的程序是否正确?

c# - 如何将 BitArray 转换为单个 int?

javascript - 如何从八 (8) 个 4 位整数创建 32 位整数?

python - 二进制补码函数输出 -1 的错误结果

java - 补码误差

c - 生成查找表的所有可能的二进制输入

python从特定位置读取二进制文件

c++ - 读取文件的二进制内容并在 C++ 中反转其内容

binary - 我们是否忽略补码的溢出

ios - 在 objective-c 中将二进制二进制补码数据转换为整数