正数的原码,补码,反码都是一样的。
原码:正数的原码计算:先求其正数的二进制字节码,在空缺的高位补0
? 负数的原码计算:先求其正数的二进制字节码,在空缺的高位补1
反码:负数的反码计算:在原码的基础上变化,符号位(最高位)不变剩余位取反
补码:负数的补码计算:在反码的基础上,符号位不变,加1,高位溢出舍弃。
eg:已知负数的补码求其原码:符号位不变,补码减1求得反码;符号位不变,反码取反求的原码
eg:传入数-5 将其转化为八位的二进制字节数 10000101;最高位1表示此数为负数。
? 原码: 10000101 反码: 11111010 补码: 11111011
补码就是负数在计算机中的二进制表示方法。
注意:
原文:https://www.cnblogs.com/ekig/p/14731387.html