计算机里都是以补码的形式存储数据,电脑只能识别二进制的0和1,
0 表示正 1表示负 一个数的最高位定义为符合号位
一个字节(8位)为例
原码 :最高位符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制。[X]原
[+1]原= 00000001 [+127]原=0111111
[ -1 ]原 =10000001 [ -127]原=11111111
[+0]原 = 00000000
[-0]原 = 10000000
反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。
[+1]反 = 00000001 [+127]反=01111111
[-1]反 = 11111110 [-127]反 =1000000
补码:正数的补码与原码一致,负数的补码是该数的 加1。
[+1]补=00000001 [+127]补=01111111
[-1]补=11111111 [-127]补=10000001
原码的最高位称为符号位(为0->正,1->负)(记忆方法:符号‘0’转90度还是0,符号‘1’转90度就是-负号)
正数的原码=正数的反码=正数的补码
负数的反码=它的原码符号位不变,其他位取反(0->1,1->0)
负数的补码