关于计算机中的原码、反码、补码的区别
2017-10-12 10:53
369 查看
数字在计算机中都是用二进制表示的。数字有有符号和无符号之分,所以需要分正负。
正数的原码、反码和补码是一样的。
负数则不一样,最高位用1来表示符号位,为负。
反码:符号位不变,其他位按位取反。
补码:反码+1。
实验证明,用原码和反码来进行负数的运算并不完全正确,用补码则没有问题。例如20-18,先计算20和(-18)的补码,然后相加,再还原出原码即可。20为正数,补码和原码相同是00010100。-18的原码是10010010,反码是11101101,补码是11101110,然后00010100+11101110=00000010,因为补码结果是正数,所以原码也是00000010,即为十进制的2。
注意:当反码和补码是正数时,原码也是正数,且和反码、补码相同;当反码和补码是负数时,再根据补码运算法则反向求出原码即可(补码-1,然后除符号位外按位取反即可)。
正数的原码、反码和补码是一样的。
负数则不一样,最高位用1来表示符号位,为负。
反码:符号位不变,其他位按位取反。
补码:反码+1。
实验证明,用原码和反码来进行负数的运算并不完全正确,用补码则没有问题。例如20-18,先计算20和(-18)的补码,然后相加,再还原出原码即可。20为正数,补码和原码相同是00010100。-18的原码是10010010,反码是11101101,补码是11101110,然后00010100+11101110=00000010,因为补码结果是正数,所以原码也是00000010,即为十进制的2。
注意:当反码和补码是正数时,原码也是正数,且和反码、补码相同;当反码和补码是负数时,再根据补码运算法则反向求出原码即可(补码-1,然后除符号位外按位取反即可)。
相关文章推荐
- 关于计算机中数字存储方式-原码、反码、补码
- 关于计算机中 原码, 反码, 补码 详解
- 关于计算机中的原码、反码、补码问题总结
- 关于计算机数字表示原理的研究(原码,反码,补码)
- 关于计算机中的原码、反码、补码问题总结
- 关于原码,反码,补码
- 计算机中的原码、反码和补码
- 计算机原码、补码、反码
- 原码反码补码,计算机中的数字表示
- 原码,反码,补码详解及 Java中>>和>>>的区别
- 计算机组成原理(原码、反码、补码)
- java学习总结(06,05.16)计算机对数据的储存方式以及原码反码补码的概念
- 计算机中的原码、反码和补码
- 计算机中的位操作、补码、反码、原码
- 计算机中的原码、反码和补码
- 计算机的原码, 反码和补码.
- 关于原码,反码,补码的一点注记
- 计算机原码、反码、补码详解
- 计算机为什么选用二进制补码(1)---原码、反码、补码
- 计算机中正数和负数原码、反码、补码的表示