正数的补码=原码
负数的补码=原码取反再加1
负数补码的来源:
举例:
一个字节的-1,原码是 -00000001,
大家想一想,负号说明是1的相反对立面,对不对?故补码是 11111110,即00000001的相反
到这里,似乎完美了。
但是在实际运算中,会有大问题:
-1+1=0,用二进制表示即:-00000001+00000001,用补码是11111110+00000001=11111111,不是理想的结果0,如果未尾加了一个1,就完美了,即11111111+00000001=0。
解决了!