计算机组成原理-第二章(2)BCD码

本文深入探讨计算机组成原理中的数据表示,重点讲解BCD码(8421码和余3码)的概念和运算方法。8421码利用4位二进制表示1个十进制数,通过权重8、4、2、1进行转换。在加法运算中,计算机先转换为8421码,然后处理进位。余3码则是在8421码基础上加3,是一种无权码。此外,还提到了有权码2421码的规则。文章适合计算机组成原理学习者阅读,旨在增进对数据表示和运算的理解。
摘要由CSDN通过智能技术生成

计算机组成原理

此系列为王道计算机考研组成原理精细笔记


通过第一章的学习,我们知道了计算机分为五大部件并且了解了这5大部件各自的作用,有了前面的知识,我们该死的求知欲告诉我们,接下来我们需要探究的是:

(1)数据如何在计算机中表示

(2)运算器如何实现数据的算数字、逻辑运算。


第二章 数据的表示和运算

BCD码

在这里插入图片描述

  我们前面学习了,二进制和十进制等知识,其中二进制是计算机可以处理的,而十进制是我们人最熟悉的。

  我们之前将二进制转换为十进制的方式是,用每一个数码位乘以它对应的权值,进行一个相乘相加的操作就能完成转换,但这种方式比较复杂,所有就有了我们今天要学习的BCD码。

  BCD码的原理是:我们可以用四个二进制位去表示一个十进制,因为四个二进制会有16种状态,足够表示十进制里面0-9这十种状态,但是也会冗余6种状态。这种方式能够将二进制快速转换为十进制。

  下面我们学习的第一种BCD码:8421码:

8421码

  刚才我们说了用4个二进制位来表示1个十进制位,这个8421码对应的就是二进制位上的权重为8,4,2,1

  如果我们表示(985)10=1001 1000 0101

8421码的映射关系:
在这里插入图片描述

  我们已经知道什么是8421码了,现在我们如何去进行8421码的加法运算呢?

  如果是我们手动计算,就是我们做题的时候,这时候可以采用一种方式是:先将对应的十进制数进行相加,再将其转为8421码即可,计算机的做法呢?

  计算机的做法我们拿一个例子来说:

  如下图:有十进制5和8两个数,我们需要对其进行相加,计算机会将两者先转换为8421码,对应的就是0101+1000这样会得到1101,但是在8421码里面1010-1111是没有定义的所以,我们还需要给机器计算出来的数加个6,为什么呢?因为4个二进制位只能表示0-15这些状态,而对于处于10-15的这几个数我们给它加6就可以使它进位(向高位进1),而低位又是我们想要的个位的部分,比如之前的13这个数机器算出来是1101我们将其+0110(就是十进制的6),就会得到10011将空位补0得到00010011也就是二进制表示十进制的13。
在这里插入图片描述

余3码

  现在为止,我们介绍了8421码,用4个二进制位转换成16种不同的状态,使用其中的0-9进行映射,如果我们修改当前编码方案就能得到不同的映射方案,如余3码:

  余3码就是8421码的基础上再加上3,对于余3码来说0这个数应该是0011,因为它是在8421码的基础上+3即+0011

  有必要说一下的是8421码中每个位置都是有固定权重的即8421,而余3码是没有固定权值的,所以我们将8421这种称为有权码,余3码称为无权码。

  我们还需要介绍一种有权码:2421码,原理与8421码相同,只是改变了每个位置的权值。需要注意的是2421码中,规定0-4中第一位数必须是0,5-9中第一位数必须是1。这样就可以使得2421码的编码方案统一。
在这里插入图片描述

总结

下一节是字符与字符串,期待大家和我交流,留言或者私信,一起学习,一起进步!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写Bug那些事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值