即使会溢出,也能得到正确的结果

有符号数的溢出本就是不确定的,可能是舍弃符号位,可能是保留符号位。

但即使是这样,上面的结果也是正确的。

复杂的数学推倒就不打算研究了。

通俗理解就是,上面的语句,即使溢出去,也会溢回来。

链接:https://www.nowcoder.com/questionTerminal/55bf0d019af549a48f5dc72fc9221377
来源:牛客网

举个栗子
交换-5, -7。 以4bit为例。
-5 = 1011 (补码)    -7 = 1001 (补码)
(-5)+ (-7)= 10100=0100=4 (溢出后为4)
4-(-7)= 4 +7=0100 + 0111 = 1011 = -5的补码
4-(-5)= 4 + 5 = 0100 + 0101 = 1001 = -7的补码

猜你喜欢

转载自www.cnblogs.com/yangguang-it/p/9655772.html