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

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

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

  • 原码:

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

    • 例如:

      • 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 @   は?無理です!  阅读(211)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示