原码,反码,补码
机器数与真值
机器数:一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数是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得到原码 按位运算有负数时要注意)

浙公网安备 33010602011771号