原码,补码,反码是什么?
原码,补码,反码是什么?
为了将数字存储在计算机中,尤其是表示正负数,人们想出了原码,反码,补码者三种数据存储方式。现在来一一介绍:
-
原码:
-
原码就是将一个数首先记录下它的符号,之后取绝对值,然后取二进制
-
例如:
-
7 -> 111 ->(再加上一位表示正负) 0111 //0代表正 -5 -> 101 ->(再加上一位表示正负) 1 101 //1代表负 -
但是这种方法表示不了0 : (
-
正0: (+0)0 00000 负0: (-0)1 00000
-
-
-
反码:
-
正整数的反码和补码是相同的
-
对于负数,除了最高位上表示符号的位不变,其他都取反:
- 如下:
7(0111) -> 0 000 //最高位不变, -5(1101) -> 1 010 //最高位不变-
但是还是没有办法表示0 : (
-
正0: (+0) 0 00000 负0: (-0) 1 11111
-
-
补码
-
也是同反码一样,正整数不变。
-
它终于解决了表示零的问题:
-
将这个数对应的反码再加上1;
-
(-0) 1 11111 + 1 = 0 00000 -
别的数也是如此:
-
-5 (1101) -> 1 010 + 1 -> 1 011
-
-

浙公网安备 33010602011771号