一、
对负数来说:
负数的补码是原码(除符号位)取反+1,又因为正负数原码本身就只有符号位不同,所以连符号位一起取反加1就可以得到其正数。
对正数来说:
原码转为负数只需要将符号位改为1,由于负数是以补码的形式存储的,所以再进行负数的补码转换(反码+1)即可。
综上两种情况,形式上就是按位取反即可。
二、
结论:(最高位和次高位同时进位/借位,发生溢出)
对于加法来说:溢出只有两种情况,正加正,负加负。
正加正溢除时符号位为0,发生溢出时结果的符号为必定为1,即次高位必定发生了进位,若最高位发生了进位,那么最高位就不可能是1。
负加负溢出时,结果的符号位变为0时,必定溢出,即次高位必定没有发生进位,只有符号位发生了进位。