数据在计算机中的存储形式
在计算机中,数据是以补码的形式存储的。(验证见下篇文章)
正数的原码、反码、补码相同,为该数字的十六进制。
如,对于1
原码是00000000 00000000 00000000 00000001
反码是00000000 00000000 00000000 00000001
补码是00000000 00000000 00000000 00000001
负数的原码、反码、补码转换则需要计算。
原码->反码,符号位不变,其他位按位取反。
反码->补码,反码+1即可得到补码
如,对于-1
原码是10000000 00000000 00000000 00000001
反码是111111111 11111111 11111111 11111110
补码是111111111 11111111 11111111 11111111
三码这么复杂,为什么不直接统一采用原码呢?
对于计算机,使用补码,不用对正负号进行额外的运算,大大提高了计算效率。
以下链接为转载: