真值:
正数或负数的真值为其绝对值对应的二进制数前面加上正号或负号。
如2的真值为+00000010
-2的真值为-00000010
(其中正号可以省略)
原码:
正数的原码为对应的二进制数,如2的原码为00000010;
负数的原码为其绝对值对应的二进制数的第一位变为1,如-2的原码为10000010
(原码的第一位表示符号位,0表示正,1表示负)
反码:
正数的反码与其原码相同;
负数的反码是对其原码逐位取反,但符号位除外。
补码:
正数的补码与原码相同;
负数的补码是在其反码的末位加1。
移码:
移码是对补码的符号位取反得到的,为了方便比较大小而引入的
举例(以8位二进制数为例):
2 -2
真值 00000010 -00000010
原码 00000010 10000010
反码 00000010 11111101
补码 00000010 11111110
移码 10000010 01111110
0 -0
真值 00000000 -00000000
原码 00000000 10000000
反码 00000000 11111111
补码 00000000 00000000
移码 10000000 10000000