原码,补码,反码是什么?

原码,补码,反码是什么?

为了将数字存储在计算机中,尤其是表示正负数,人们想出了原码,反码,补码者三种数据存储方式。现在来一一介绍:

  • 原码:

    • 原码就是将一个数首先记录下它的符号,之后取绝对值,然后取二进制

    • 例如:

      • 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
        
posted @ 2022-04-11 19:48  は?無理です!  阅读(217)  评论(0)    收藏  举报