原码
第一位是符号位,0是正,1是负。
![](https://img.haomeiwen.com/i446740/cd191a4aa38c9b09.png)
反码
正数和原码一样。负数的原码,符号位不变,其他位取反,就得到了反码。
![](https://img.haomeiwen.com/i446740/e1f1d3e6d6ac1774.png)
补码
正数和原码一样。负数的反码加1,就得到了补码。
![](https://img.haomeiwen.com/i446740/cbd49fad00f6809b.png)
为什么要用补码?
为了让计算机能用加法电路解决减法问题(这样就不用单独设计减法电路了)。然而用原码表示的正数和负数相加,结果是不对的。反码解决了这个问题,但是反码表示的0又出现了两种不同的形式。为了再解决这个问题,设计了补码。
![](https://img.haomeiwen.com/i446740/e2ac0f0f7c144e7f.png)
参考资料:
第一位是符号位,0是正,1是负。
正数和原码一样。负数的原码,符号位不变,其他位取反,就得到了反码。
正数和原码一样。负数的反码加1,就得到了补码。
为了让计算机能用加法电路解决减法问题(这样就不用单独设计减法电路了)。然而用原码表示的正数和负数相加,结果是不对的。反码解决了这个问题,但是反码表示的0又出现了两种不同的形式。为了再解决这个问题,设计了补码。
参考资料:
本文标题:原码、反码与补码、为什么要用补码?
本文链接:https://www.haomeiwen.com/subject/gajlwftx.html
网友评论