【问题标题】:Two's Complement: Addition Overflow?二进制补码:加法溢出?
【发布时间】:2016-01-26 16:16:26
【问题描述】:

我试图在 2 的补码中将 24 添加到 10。我发现 2 的补码中的 24 是:011000 和 2 的补码中的 10 是 001010。当我将两者相加时,我得到:100010。结果是一个负数。这是溢出的例子吗? 2的补码不能把24加到10吗?

【问题讨论】:

    标签: binary twos-complement


    【解决方案1】:

    如果你只有 6 位,那么是的,这是溢出。原因是 6 位 2 的补码只能存储数字 -32..31,而您想要的结果 34 超出了该范围。

    如果你有,比如说,8 位,你的结果将是 00100010,它不会是负数,也不是溢出。

    将两个正数相加得到一个负数结果,或将两个负数相加得到一个非负数结果,是有符号 2 的补码溢出的明确指标。

    【讨论】:

      猜你喜欢
      • 2021-10-27
      • 2015-04-12
      • 1970-01-01
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 2017-07-17
      • 2011-11-05
      • 2013-04-07
      相关资源
      最近更新 更多