在计算机中,数据都是以补码的形式存储的
原码
- 正数的原码就是其二进制形式
- 负数的原码是其绝对值的二进制形式将符号位取1
例如 3 的原码为 0000 0011
-3的原码为 1000 0011
反码
- 正数的反码就是其本身
- 负数的反码是除符号位之外,按位取反
例如 -3 的反码为 1111 1100
补码
- 正数的补码就是其本身
- 负数的补码是其反码加1
例如 -3 的补码为 1111 1101
3 - 3 = 3 + (-3) = 0
0 0 0 0 0 0 1 1
+ 1 1 1 1 1 1 0 1
= 0 0 0 0 0 0 0 0