原码,反码,补码

机器数与真值

  机器数:一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数是0,负数是1

  真值:将带符号位的机器数对应的真正数值称为机器数的真值

  

原码,反码,补码

  (在计算机中机器只有加法而没有减法)

  人们为了将符号位参与运算,并且只保留加法,从而简化计算机运算,发明了原码,反码,和补码

  原码:原码是符号位加上真值的绝对值,即用第一位来表示符号,其余位表示值,例如8位二进制

    [+1]原码:0000 0001

    [-1] 原码:1000 0001

  由于第一位是符号位所以8位二进制的取值范围是 1111 1111  ---   0111 1111   [-127  +127]

   

  反码

    正数的反码是其本身

    负数的反码是在其原码的基础上,符号位不变,其余各个位取反

    [+1] = 0000 0001原 = 0000 0001反

    [-1] = 1000 0001原 = 1111 1110 反

  补码

    正数的 补码就是其本身

    负数的补码就是在其原码的基础上,符号位不变,其余各位取反,最后+1

    [+1] = 0000 0001原 = 0000 0001反 = 0000 0001 补

    [-1] = 1000 0001原 = 1111 1110 反 = 1111 1111 补

 

  在计算机系统中,数值一律用补码来表示(存储)   (负数的补码按位取反+1得到原码   按位运算有负数时要注意)  

posted @ 2019-03-16 10:23  lizyn  阅读(265)  评论(0)    收藏  举报