在计算机中所有的数据是按照补码储存的
注意:(最高符号位为0是正数 最高符号位为1是负数)
原码:就是本身的二进制
反码: 在原码的基础上 0变1,1变0,最高的符号位不变(因为只有负数才有反码,正数是其本身)
补码:在反码的基础上最后一位+1
正数的原码 反码 补码三个是一样的,三码合一
例:原码 1 (00000001) 反码 (00000001)补码 (00000001)
负数的原码 反码 补码不一样
负数的反码是符号位保持不变,其余位取反
例如:原码 -1 (100000001 ) 反码 (11111110)
负数的补码是在其反码的基础上+1
例如:原码 -1 (100000001 ) 反码 (11111110) 补码(11111111)
因为计算机中,数据都是补码组成,所以想知道计算机中负数的原码,需要用补码-1得到反码,再对反码进行还原,才能得到真正的负数的原码