有符号数的溢出本就是不确定的,可能是舍弃符号位,可能是保留符号位。
但即使是这样,上面的结果也是正确的。
复杂的数学推倒就不打算研究了。
通俗理解就是,上面的语句,即使溢出去,也会溢回来。
链接: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的补码