5.1.6_移码

简介: 计算机组成原理之移码

在这个小节中,我们要学习带符号整数的最后一种编码方式,叫做移码。

怎么得到移码
image.png

很简单,在补码的基础上,符号位取反就可以得到移码

正 19 和负 19 的原反补码分别是这么表示(如下图),要得到移码,只需要在补码的基础上把符号位取反就可以。
image.png

因此,只要我们先得到补码,那就可以快速的转换为移码。

值得一提的是,移码只能用于表示整数,像原码、反码、补码它们是可以用于表示小数的。

之后的小结,我们会说怎么用原反补码来表示小数。

现在我们先来讨论移码。译码和补码一样,它只有一种真值 0 的表示形式。

同时,移码的合法表示范围和补码也是相同的,相比于原码和反码来说,移码可以多表示1个负数。所以如果是8比特的移码,它的合法表示范围就应该是负的 128 到正的 127 这样的范围,这就是移码。

我们把负的 128 到正的 127 区间内的补码和移码放在一起进行对比。,大家先观察一下有什么规律。
image.png

你会发现真值最小的移码,它刚好是全 0 。

接下来真值第二小的刚好是 7 个0加1个1;真值最大的移码,它刚好全部为1。
image.png

如果按无符号整数来解读,刚好就是无符号整数的0,一直到无符号整数的255。

所以按照移码的这种规律,可以使得如果用硬件电路来对比两个移码的大小,会非常方便。

所以移码通常会用于浮点数的阶码当中。

浮点数是什么以及阶码是什么,我们之后进行学习,现在先不用管。

我们现在先关注移码的特性,以及它和补码之间的关系。


我们把移码的表示范围,还有 0 的表示,最小的值,最大的值如何表示,也都整理到之前的表当中,大家可以放在一起进行对比。

如下:
image.png

另外,在这个表当中,我们也把 8 个比特的机器数, 8 个全0一直到 8 个全1。这些机器数如果按无符号数来解释,按原码解释,按反码解释,按补码解释,还有按移码解释,分别对应真值的多少,都在表里边进行了整理。如下:
image.png


最后给大家留几个练习。

(1)大家尝试着把带符号的定点整数50,还有-100 分别用8位的原反补移码来进行表示。
image.png620246408618155350.jpg
623408340506996831.jpg

大家自己试一试就行,答案如下:
image.png

(2)如果给你8比特的这些编码,同时告诉你编码的方式。大家尝试着把这些编码转换为对应的真值。
image.png

答案如下:
image.png

关于移码具体有什么作用,我们还会在浮点数当中学习。

这个小结中我们主要掌握的就是移码和补码之间的转换,以及移码的一些特性。

以上就是这一小节的全部内容。

目录
打赏
0
0
0
0
14
分享
相关文章
|
7月前
软考证书如何申报抵税?详细教程来了!
本文介绍了软考证书如何申报个税抵扣的详细教程。根据规定,取得相关证书的当年可按3600元定额扣除。具体步骤包括下载并注册“个人所得税”APP、选择继续教育并填写扣除年度、选择职业资格继续教育类型及填写继续教育信息。未领取纸质证书者也可通过“中国人事考试网”查询信息后申报。
605 0
解决:启动Redis报错
当 Redis 启动报错“Could not create *:6379”时,可能是端口占用或配置问题。解决方法:依次运行以下命令——先通过 `redis-cli.exe` 进入命令行并执行 `shutdown` 关闭服务,再用 `exit` 退出工具,最后通过 `redis-server.exe redis.windows.conf` 重启 Redis。此操作可有效释放端口并正常启动 Redis 服务。
288 1
别再靠“运维小哥半夜报警”了!大模型搞定实时事件监测!
别再靠“运维小哥半夜报警”了!大模型搞定实时事件监测!
160 15
【实践】快速学会使用阿里云消息队列RabbitMQ版
云消息队列 RabbitMQ 版是一款基于高可用分布式存储架构实现的 AMQP 0-9-1协议的消息产品。云消息队列 RabbitMQ 版兼容开源 RabbitMQ 客户端,解决开源各种稳定性痛点(例如消息堆积、脑裂等问题),同时具备高并发、分布式、灵活扩缩容等云消息服务优势。
256 2
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础(1)
语法分析阶段可以发现程序中的所有语法错误;编译正确的程序必然不包含语法错误;“除数为0”为动态语义错误,动态语义错误只有运行时才能发现。
316 0
【软件设计师-从小白到大牛】上午题基础篇:第七章 程序设计语言与语言处理程序基础(1)
看完这篇 教你玩转渗透测试靶机vulnhub—DarkHole
看完这篇 教你玩转渗透测试靶机vulnhub—DarkHole
537 0
【数据结构】—超级详细的归并排序(含C语言实现)
【数据结构】—超级详细的归并排序(含C语言实现)
基于SpringBoot+Vue+uniapp的民宿短租系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的民宿短租系统的详细设计和实现(源码+lw+部署文档+讲解等)
138 0
【C++ 继承的多样性】C++ 多继承与虚拟继承:探究核心原理与应用实践
【C++ 继承的多样性】C++ 多继承与虚拟继承:探究核心原理与应用实践
324 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等