原码,反码,补码:
1,如何计算补码:
规则:
正数: 原码 = 反码 = 补码
负数: 反码 = 符号位不变,其他位取反
补码 = 反码+1
取反: 取反不是反码,而是把所有的0变1,1变0. 符号位也要变, 变了之后是补码,所以要得到反码的话要减1.
示例:
1的原码: 0 000 0001
-1的原码: 1 000 0001
-1的反码: 1 111 1110
-1的补码: 1 111 1111
结果:
-1 + 1 = -1的补码 + 1的补码
1 111 1111
+ 0 000 0001
--------------------------------
= 0 000 0000
*数字只有8bit,计算结果多出的那个1并不属于这8bit里,所以不算