注: 数在计算器中用二进制形式进行存储, 其存储形式称为该数的机器数. 数字的最高位是符号位, 0 代表正, 1 代表负.
由于第一位是符号位, 机器数形式值不一定等于真正的数值, 因此, 将带符号位的机器数对应真正的值称为真值. 例: 0000 0001 = +000 0001 =+1;1000 0001 = -000 0001 = -1.
原码: 第一位是符号位, 其余位表示值, 因此, 正数的原码是它本身, 负数原码第一位为 1, 表示其为负.
例:+1 原: 0000 0001;
-1 原: 1000 0001.
由于第一位是符号位, 8 位二进制的取值范围是:[1111 1111, 0111 1111]=[-127, 127].
反码: 正数反码是其本身, 负数反码在原码基础上, 符号位不变, 其他位取反 [1 变为 0,0 变为 1] .
例:+1=[0000 0001] 原 = [0000 0001] 反
-1=[1000 0001] 原 = [1111 1110] 反
补码: 正数补码是其本身, 负数补码是在反码基础上, 符号位不变, 末位 + 1[二进制: 0+1 变为 1;1+1 变为 0, 前位 + 1]
例:+1=[0000 0001] 原 = [0000 0001] 反 = [0000 0001] 补
-1=[1000 0001] 原 = [1111 1110] 反 = [1111 1111] 补
-2=[1000 0010] 原 = [1111 1101] 反 = [1111 1110] 补
来源: http://www.bubuko.com/infodetail-3209628.html