1 正数的原码反码补码都是本身
2 负数的反码是由原码的符号位不变,其余取反
3 负数的补码 = 其反码 + 1
4 计算机的运算都是通过补码来运算的
eg
正数相加
1 + 1
1的原码:
00000000 00000000 00000000 00000001
反码:
00000000 00000000 00000000 00000001
补码:
00000000 00000000 00000000 00000001
00000000 00000000 00000000 00000001
+
00000000 00000000 00000000 00000001
=
00000000 00000000 00000000 00000010
正数相减
eg
1-2
1的补码为:
00000000 00000000 00000000 00000001
-2的原码为:
10000000 00000000 00000000 00000010
反码为:
11111111 11111111 11111111 11111101
补码为:
11111111 11111111 11111111 11111110
-2的补码和1 的补码相加为:
11111111 11111111 11111111 11111111
这并不是最终结果
将补码再转换成原码,最后由二进制转换为十进制输出
111111111 11111111 11111111 11111111的反码为:
11111111 11111111 11111111 11111110的原码为:
10000000 00000000 00000000 00000001
转换为十进制为-1