用 carry our 和 carry in 证明溢出

Proof overflow with carry our and carry in

我有一个练习我不太明白。

Prove that in a 2's complement number system addition overflows if and only if the carry from the sign position does not equal the carry into the sign position. Consider the three cases: adding two positive numbers, adding two negative numbers and adding two numbers of opposite sign.

知道了who数相加时如何计数,加法是否溢出,看carry in和carry out

但是我将如何以一般方式进行此证明?

由于你的问题没有透露太多细节,而且你也没有展示自己的作品,所以我会回答一些细节。

对于这三种情况中的每一种(两个正数,两个负数,每个一个),考虑四种子情况(进位和出符号位,进位但不进位,进位但没有进入,根本没有进位)。在每种情况下,证明其中一些子情况是不可能的。然后看每个子case,看是不是overflow的意思。

我们来看第一种情况——两个正数。首先表明符号位的任何进位都是不可能的,因此删除了两个子情况。然后证明符号位进位(但不进位)是溢出条件,符号位不进位(并且 none 进位不进位)不是溢出条件。

然后在每个子案例中,您会看到当两个进位(输入和输出)不同时会发生溢出,而当两个进位相等时不会发生溢出。

这可能不是您正在寻找的 "general way",因为您需要考虑案例和子案例的十二种组合,排除一些并查看其他的后果。但它确实有效。如果您需要更多详细信息,请展示更多您自己的作品,我很乐意添加更多。