原码,反码与补码

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

原文地址:https://www.cnblogs.com/20183711PYD/p/11571765.html