五分钟理解原码补码反码和移码

article/2025/10/1 10:47:16

这是计算机的基本知识了,一定要好好学。哈哈废话不多说,直接进入正题吧。计算机中有无符号数和有符号数两大类。

有符号数就是正负数,在计算机中正好用0和1分别去代表正和负。(ps:好多人不理解机器数和真值,机器数就是把符号数字化的数,而真值就是带正负号的数。)

1.先说说原码

e9322bacd48040439cd2bfc6b84fc67e.jpg​​​​​整数原码

x是真值,真值大于0,原码就是它本身,只需要在它的前面放一个0就好了。                        

如果x小于0,那为啥要这样写呢?这个-x实际相当于|x|,2^n加上|x|就是在它前面放个1来表示符号。

6f15affa736c41729c4d6344f77a7a25.jpg 小数原码

这里的关系就和上面说的道理一样了。不想说了。

举个例子

假设有x=-1011 

[x]原=2^4-(-1011)=10000+1011=1,1011

2.补码

补码是为了简化运算,比如说两个一正一负的原码相加,我们不仅要考虑哪个数要大一点然后还要去看它俩和是正是负,很烦。补码就是为了解决这一麻烦事,把减法变成加法。

9b47bbc3dbf34a8f9ec2df9f882a7806.jpg 整数补码

它的原理就是求补数,什么你不懂补数?好吧,我举个例子,就比如我们家里的指针表,12一圈 ,假设现在指针指向3,你想让他到5,怎么办?这时候大多数人都会让指针顺时针旋转到5 ,但你别忘了逆时针旋转也是可以的,顺时针要旋转2,逆时针旋转10,这里我们把2和-10叫做以12为模的补数。说白了负数就是求与它等价的正数,也就是它的补数。在这里尤其要弄清楚它的模是什么。

09262dbc593f44d5bc2625392ea2bd40.jpg 小数补码

小数补码模为啥是2?你想想如果是1那是怎么回事?

举个例子

有x=-0.0110

如果模为1,[x]补=1.0000-0.0110=0.1010

小数点前是符号位变成了正的,但如果以2为模结果就是1.1010正好弥补了符号。

3.反码

反码到底有啥用啊?反码实际上是补码与原码的中间产物,不知道你有没有听过:原码求补码,符号位不变,每位取反 ,末位加一。这里每位取反就是我们的反码了,很简单。同理用补码求原码的过程中:末位减一,也得到了反码。e85fa10b21d240bea9556dd45ad4315d.jpg                             整数反码

这个x大于0就不说了,说说小于0。下面这个2^(n+1)+x实际就是通过补码来求的,你可以看看补码。

举个例子

比如x=-1000

[x]反=2^5-1-1000=11111-1000=1,0111

68854036f3414212b5998a1c76818a31.jpg 小数反码

小数反码也是这个道理,在整数反码减1和小数反码中减2^-n都是一样的道理,相对于补码来说都是末尾减一。注意末尾减一不是减一。

4.移码

(终于说到移码了,口干舌燥的写了一个多小时,拿手机写的,忘了带电脑555~)

我们为啥要设置移码呢?在我们计算机中无法识别正负,我们人眼直接看到的大小机器识别不了,这就引入了移码,(顾名思义:移动的码 哈哈)

e90b14c4178c4a4a9e69500c0d439bf7.jpg

 看不懂吧,我也看不懂,哈哈😃

打个比方,比如五个数abcde,有正有负,移码的思想就是把它们都平移到正半轴 ,加相同的数,但是相对大小不变,计算机一看都是正数,就好去比较它们的大小了。思想理解了,就很容易看懂公式了。

废话:啊,差不多就这么多了,本来我是叫不想打字,这会居然抱个手机写了半天,累了累了,准备回宿舍睡觉觉了,希望大家学到知识的给我点个鼓励。拜拜~


http://chatgpt.dhexx.cn/article/YdhmtiBD.shtml

相关文章

原码、反码、补码、移码的表示

若字长n为8时,那么45的二进制表示0 0101101 ,若数值X 1.原码 [X]原,在二进制数值中,正数保持不变,负数符号位置1. 2.反码 [X]反,的正数保持不变 , 负数对数值的绝对值每一位按位求反 3.补码…

关于补码移码各自和原码的联系、来历、功能及I EEE754标准中移码范围问题

最近在学习计算机组成原理时,遇到一些问题,记录在此。 如果你对下面这段话有疑惑或者兴趣,我或许能说点什么你感兴趣的。 真值-128的补码:1000 0000,这个补码本身表示的二进制数(无符号)是128,其对应着真…

移码的计算方式

规则:对应真值的补码的符号位取反; 计算公式: 式中:x为真值,n为整数的位数; 形式上补码是先减后增的,移码是递增的;根据人类的习惯,移码可以清楚的反映对应真值的大小…

计算机组成原理学习笔记:定点数、浮点数、原码、反码、补码、移码

定点数与浮点数 所谓定点数就是指小数点的位置固定不变而浮点数是小数点的位置是不固定的,会浮动 1 ) 定点数 用熟悉的十进制数来类比,定点数就是我们平时更习惯使用的常规的计数方式,我们会显式的标明小数点的位置Eg: 110.12 2 &#xf…

原码,补码,移码

一、原码 ①最高位为符号位,0表示正数,1表示负数; ②除符号位其它数值部分,就是数值本身绝对值的二进制数; ③负数的原码是在其绝对值得的基础上,符号位变为1; 但是: 0的表示不唯一&…

移码补码原理

计算机中的“数”,花样很多,又是ASCII码、又是BCD码等等,下面,做而论道写了一些关于移码、补码的一些看法,欢迎拍砖。 机器数 计算机中的“数”,其实都不是数字,它们都是一些高、低电平。其中&a…

浮点数与移码

浮点数的组成和计数原理 浮点数是什么浮点数的表示与规定浮点数的规定(IEEE754 标准)浮点数的表示范围(IEE7标准瞎)阶码用移码表示 浮点数是什么 浮点数就是小数点可以任意浮动的数字。   因为在计算机的机器语言中,…

图神经网络时代的深度聚类

©PaperWeekly 原创 作者|纪厚业 学校|北京邮电大学博士生 研究方向|图神经网络和推荐系统 聚类作为经典的无监督学习算法在数据挖掘/机器学习的发展历史中留下了不可磨灭的印记。其中,经典的聚类算法 K-Means 也被选为数据挖…

聊聊测试工程师的核心能力模型

这是鼎叔的第二篇原创文章。 行业大牛和刚毕业的小白,都可以进来聊聊。 多年大厂技术总监和质量通道委员经验,横跨多个不同领域,微信公众号“敏捷测试转型”,欢迎多多交流。 鼎叔过往接触过各个团队的测试(测试开发&…

对比学习有多火?文本聚类都被刷爆了…

文 | 花小花Posy 大家好,我是小花。 对比学习的大火???? 越来越旺了,已然从CV蔓延到NLP了。今天给大家介绍的正是一篇将对比学习应用到文本聚类上的工作,NAACL21新鲜出炉的paper——《Supporting Clustering with Contrastive Learning》…

(附源码)小程序 记账微信小程序 毕业设计 180815

记账微信小程序 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,记账微信小程序被用户普遍使用&#xff0…

使用Python+OpenCV+Tensorflow实现图像聚类

介绍 大家好,最近在参加深度学习竞赛时,遇到了一个有趣的问题,即如何将给定的图像集进行聚类,你可能会说,这不是一个简单的分类问题吗?使用卷积神经网络, 就实现,但关键在于没有合适…

论文阅读笔记(15):Deep Subspace Clustering with Data Augmentation,深度子空间聚类+数据增强

论文阅读笔记(15):Deep Subspace Clustering with Data Augmentation,深度子空间聚类数据增强 摘要1 介绍2 相关工作带增强的聚类方法具有一致性损失的自监督子空间聚类中的自表达模型 3 深度子空间聚类数据增强总结 4 寻找有效增…

【SaaS金羊毛】微信小程序We分析

微信前几天发布了通告https://mp.weixin.qq.com/cgi-bin/announce?actiongetannouncement&announce_id11652079103ziYFG&version&langzh_CN&token,小程序统计模块会升级为”We分析“这样一款独立的产品。实际上这也符合很多B端产品的趋势&#xff…

Python 如何确定K-Means聚类的簇数

背景 “人以类聚,物以群分”,在大千世界中总有那么一些人,性格爱好、行为习惯比较相近,我们就会把他们归为一类人,这就是我们人脑自动进行的一个聚类(归类)。 在数据分析中,我们也经常拿数据来进行K-Means聚…

【机器学习】聚类代码练习

本课程是中国大学慕课《机器学习》的“聚类”章节的课后代码。 课程地址: https://www.icourse163.org/course/WZU-1464096179 课程完整代码: https://github.com/fengdu78/WZU-machine-learning-course 代码修改并注释:黄海广,ha…

【聚类算法】10种Python聚类算法完整操作示例(建议收藏

点击上方,选择星标,每天给你送干货! 来源:海豚数据科学实验室 著作权归作者所有,本文仅作学术分享,若侵权,请联系后台删文处理 聚类或聚类分析是无监督学习问题。它通常被用作数据分析技术&…

理论+实战,一文详解最常使用的10个聚类算法(附代码)

聚类或聚类分析是无监督学习问题。它通常被用作数据分析技术,用于发现数据中的有趣模式,例如基于其行为的客户群。有许多聚类算法可供选择,对于所有情况,没有单一的最佳聚类算法。 相反,最好探索一系列聚类算法以及每…

基于微信小程序的家校通系统-JAVA【数据库设计、源码、开题报告】

第一章 绪 论 1.1选题背景 随着网络时代的到来,互联网的优势和普及时刻影响并改变着人们的生活方式。在信息技术迅速发展的今天,计算机技术已经遍及全球,使社会发生了巨大的变革。 为了不受时间和地点的限制,智能手机用户可以通…

python新闻文本聚类_TextCluster:短文本聚类预处理模块 Short text cluster

推荐Github上一个NLP相关的项目: RandyPen/TextCluster 项目地址,阅读原文可以直达,欢迎参与和Star: https://github.com/RandyPen/TextCluster 这个项目的作者是AINLP交流群里的昭鸣同学,该项目 开源了一个短文本聚…