码农养成记4——原码、反码、补码

简介: 转载请标明地址 QuincySx:https://www.jianshu.com/p/f134b15ff1de原码、反码、补码是什么数字最早被我们在自然界抽象出来的时候本没有正负之分,比如一个人,两个人,三个人。

转载请标明地址 QuincySx:https://www.jianshu.com/p/f134b15ff1de

原码、反码、补码是什么

数字最早被我们在自然界抽象出来的时候本没有正负之分,比如一个人,两个人,三个人。没有负一个人之说

那么在计算机表示数字的时候也是没有正负之分,现在我们假设计算机是用 1 字节也就是 8 bit 来存储数据,那么数字 1、2 再计算机中如何表示呢

//无符号
1 -> 0000 0001
2 -> 0000 0010

想必大家都知道现阶段我们使用的计算机数据存储运算都是二进制数据

到了后来在我们生活中为了表示“你欠我钱”等等这个概念,所以划分出了『正数』、『负数』

那么相应的计算机世界就出现了 原码 这个概念

原码:把最左边的一位腾出来表示正负,0 表示正数,1 表示负数

//原码
+1 -> 0000 0001
+2 -> 0000 0010
-1 -> 1000 0001
-2 -> 1000 0010

当计算机世界发明了原码之后出现一个棘手的问题,就是自然界中 1 + (-1) = 0 而计算机的计算结果呢 00000001 + 10000001 = 10000010 (-2) 咦这个结果可不对啊,怎么办呢

所以聪明的人类又给计算机世界发明了 反码

反码:正数的反码与其原码相同,负数的反码是符号位不变其他位取反

//反码
+1 -> 0000 0001
+2 -> 0000 0010
-1 -> 1111 1110
-2 -> 1111 1101

这个问题解决了但是又出现了一个新的问题,00000001 + 11111110 = 11111111 (-0) 这样一来在计算机中出现了两个 0 这可不行

//反码
+0 -> 0000 0000
-0 -> 1111 1111

怎么办呢,人们又为计算机世界贡献了 补码 的概念

补码:正数的补码与其原码相同,负数在反码的基础上 +1

//补码
+1 -> 0000 0001
+2 -> 0000 0010
-1 -> 1111 1111
-2 -> 1111 1110

这样一来 00000001 + 11111111 = 1 0000 0000 可是位数超了可是我们的存储空间就 8 bit 怎么办呢,所以就舍去 1 保留 00000000 (0)

这样一来就完美了,在计算机世界中进行数据运算就和我们的规则就统一了

小结

上述过程在现实发展中肯定不是这个过程,因为这是我胡乱造的(哈哈,是不是有点信以为真),但是他们的出现确实是为了解决上面说的问题

通过这篇文章我们了解了原码、反码、补码

原码:把最左边的一位腾出来表示正负,0 表示正数,1 表示负数
反码:正数的反码与其原码相同,负数的反码是符号位不变其他位取反
补码:正数的补码与其原码相同,负数在反码的基础上 +1

上面还迁移默化的说了一个问题不是到各位观众老爷看出来了没

就是现代计算机运算都是先换算成补码然后进行运算的

有说的不明白的地方欢迎各位拍砖

目录
相关文章
|
2天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
253 116
|
17天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
11天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
650 220
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
886 61
|
9天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1462 157
|
6天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
282 139
|
8天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
589 109