原码,反码与补码
注:数在计算器中用二进制形式进行存储,其存储形式称为该数的机器数。数字的最高位是符号位,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]补