我将举例说明。十进制数5的4位二进制表示为0101。因此,十进制数-5在2的补码中表示为1011。然而,1011也是十进制数11的二进制表示。怎样区分这两个值?
如果解决方案是限制4位二进制数仅表示-8到+7,那么如何检测溢出?当我将二进制7加上二进制7时,得到1110,它是十进制数13(溢出),但也是2的补码中的二进制-2。如何检测二进制7 + 7是溢出,而不是-2?
我知道计算机通常使用2的补码来表示负数。我想知道在这种情况下如何处理这个问题。
如果解决方案是限制4位二进制数仅表示-8到+7,那么如何检测溢出?当我将二进制7加上二进制7时,得到1110,它是十进制数13(溢出),但也是2的补码中的二进制-2。如何检测二进制7 + 7是溢出,而不是-2?
我知道计算机通常使用2的补码来表示负数。我想知道在这种情况下如何处理这个问题。