对这四个概念进行深入的理解,希望一次学透
原码
非常简单,就是把原数字二进制化,但是第一个二进制位表示正负号,0表示正,1表示负。
但是有一个特性,它能区分 +0 和 -0
1 | +0:00000000 |
这个可以推测表示范围了,要注意减一
反码
通过原码得到反码,正数不变,负数二进制取反,符号位不反
反码的整数表示范围和原码一样。
补码
正数补码 = 原码
负数补码 = 反码末尾+1,考虑进位
特性:+0和-0都是 0000_0000
补码的出现是为了解决+0和-0同时存在的问题,它使得让0定义为+0,负数全都向后挪动一位,占据 全是1的-0
移码
无论正负,在补码的基础上进行符号位取反
下面是一张图
详细解释了补码的过程