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

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

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

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

相关文章
|
5月前
|
程序员
程序员必知:原码、反码、补码和移码详解
程序员必知:原码、反码、补码和移码详解
92 0
|
6月前
原码反码补码移码的介绍和计算
原码反码补码移码的介绍和计算
141 1
【软考学习2】数据表示——原码 反码 补码 移码
【软考学习2】数据表示——原码 反码 补码 移码
136 0
|
机器学习/深度学习 存储
数据的表示:原码、反码、补码、移码以及浮点数的运算
数据的表示:原码、反码、补码、移码以及浮点数的运算
477 0
数据的表示:原码、反码、补码、移码以及浮点数的运算
原码、反码、补码的互换
计算机中国的有符号数(整数)有三种表达方式,即原码、反码、补码。
|
存储
[软考]之原码、反码、补码和移码
[软考]之原码、反码、补码和移码
114 0
|
机器学习/深度学习 存储
进制及进制转换详解。原码、反码、移码,补码区别介绍。(通俗易懂)
Ⅰ.进制转换详解。Ⅱ.原码、反码、移码,补码区别介绍。(通俗易懂)
370 0
进制及进制转换详解。原码、反码、移码,补码区别介绍。(通俗易懂)
|
存储
数制间的转换,原码、反码、补码
数制间的转换,原码、反码、补码
771 0
数制间的转换,原码、反码、补码
【计算机组成原理】原码 反码 补码 移码
一、原码、反码、补码、移码的概念 1. 真值 2. 机器数 1. 原码 2. 反码 3. 补码 4. 移码 二、原码、反码、补码、移码的转换 1. 原码转反码 2. 原码转补码 3. 原码转移码 三、总结
666 0
【计算机组成原理】原码 反码 补码 移码