为了将符号位参与运算,并且只保留加法,从而简化计算机运算,发明了原码、反码、补码
在计算机系统中,数值一律用补码来存储,主要原因就是前面所说使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位有进位,则进位被舍弃。
原码
第一位是符号位,其余位表示值,比如
[+1]原 = 0000 0001
[- 1]原 = 1000 0001
反码
正数的反码是其本身,负数的反码是符号位不变,其余按位取反
[+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]补
网友评论