原码,补码,反码是什么?
原码,补码,反码是什么?
为了将数字存储在计算机中,尤其是表示正负数,人们想出了原码,反码,补码者三种数据存储方式。现在来一一介绍:
-
原码:
-
原码就是将一个数首先记录下它的符号,之后取绝对值,然后取二进制
-
例如:
-
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
-
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人