添加二进制文件和溢出

时间:2013-03-06 10:13:22

标签: binary overflow addition binaries

我正在练习我添加的binarys并且我想要溢出,我需要为510位添加01010和11011的答案,以节省十进制10和27的时间

添加后,我得到100101,这是37的预期答案。

然而,由于答案必须是5位,这是否意味着我将位置放在左边,1? 我对此感到困惑,因为这不是答案5吗?而不是37?因为它是00101,或者这只是计算机如何做到这一点?

也有人可以解释下面两个问题的含义吗?

最重要位的进位值是多少?

执行最重要位的价值是多少?

非常感谢任何帮助和澄清。

1 个答案:

答案 0 :(得分:1)

如果你只有五位,那么是,二进制10 + 27的答案是5,因为你可以存储在5位的最大值是2 ^ 5 - 1 = 31d = 11111b。包括0,您可以在5位变量中存储32个不同的值。所以你的结果是37mod32 = 5.

最重要的位是具有最高值的位,在您的情况下是最左边的位。该位(如果为1)的十进制值为16。

“进位”是位于MSB旁边的位,而不再是变量本身。所以说你的五位变量中的“第六位”。它的初始值为0:

0 01010
0 11011 +
---------
1 00101 =

但结果值1.所以你“执行”a 1.这可以由计算机使用,即检测这种溢出。

如果您需要更多详细信息,请与我们联系。