原码
第一位是符号位,0是正,1是负。
反码
正数和原码一样。负数的原码,符号位不变,其他位取反,就得到了反码。
补码
正数和原码一样。负数的反码加1,就得到了补码。
为什么要用补码?
为了让计算机能用加法电路解决减法问题(这样就不用单独设计减法电路了)。然而用原码表示的正数和负数相加,结果是不对的。反码解决了这个问题,但是反码表示的0又出现了两种不同的形式。为了再解决这个问题,设计了补码。
参考资料:
第一位是符号位,0是正,1是负。
正数和原码一样。负数的原码,符号位不变,其他位取反,就得到了反码。
正数和原码一样。负数的反码加1,就得到了补码。
为了让计算机能用加法电路解决减法问题(这样就不用单独设计减法电路了)。然而用原码表示的正数和负数相加,结果是不对的。反码解决了这个问题,但是反码表示的0又出现了两种不同的形式。为了再解决这个问题,设计了补码。
参考资料: