- 原码:
最高位为符号位,0 为正数,1 为负数。
如我们用8位表示一个数。11的原码为0000 1011 ,-11的原码为1000 1011 -
反码:
规定:正数的反码与原码相同,负数的反码,对原码,符号位还是1不动,其他位取反。
还是上面的例子。11的反码为0000 1011, -11的反码为11110100。
-
补码:
规定:正数的补码与原码相同。负数的补码,对原码,符号位还是1不动,其他位取反,再加1。
还是上面的例子。11的补码为0000 1011, -11的反码为11110101。
无论是原码、反码还是补码,开头为1就是负数,开头为0就是正数。
注意,0 的补码。0若算正数,补码就是0000 0000,若算负数,就是1111 1111+1=0000 0000(规定),所以对0,补码是唯一的。
计算机中的数都是按补码来存储的,因为方便运算。