《计算机组成原理》BCD码 8421编码原理剖析

「作者主页」:士别三日wyx

在这里插入图片描述

1. BCD码的作用

        首先问大家一个问题:计算机是如何把二进制转换成十进制的?

        我们平时生活中常用的是十进制,即0 1 2 3 4 5 6 7 8 9,我们使用电脑运算时,会输入十进制的数字,电脑则返回十进制的运算结果。

        可实际上,电脑并不能运算十进制,那电脑是怎么运算的呢?

        答案是转换为二进制。

        当电脑收到我们输入的「十进制」之后,会先把十进制「转换」为二进制,对「二进制」进行运算,再将运算的结果转换为十进制,返回给我们。

        那问题又来了:计算机是如何将二进制和十进制进行转换的呢?

        答案是BCD码

2. BCD码的转换原理

        「BCD码」使用 4 位二进制来表示 1 位十进制,即使用 4 个位来存储一个十进制的值,使二进制和十进制之间的转换以快捷的进行。

        比如 使用4位二进制 0000 表示 十进制 0

        使用4位二进制 0001 表示 十进制 1

3. 8421编码

        「8421码」是最基本也是最常用的的一种BCD编码,由4位二进制组成,各位的权值分别是8、4、2、1,8421码的名字也是由此而来。

3.1 8421编码的权重划分

        「权重」即一位元素的重要程度,比如,4位二进制 0001 表示 十进制 1

        第一个位的二进制是0,权重为8,所代表的值就是 8 * 0 = 0

        第二个位的二进制是0,权重为4,所代表的值就是4 * 0 = 0

        第三个位的二进制是0,权重为2,所代表的值就是2 * 0 = 0

        第四个位的二进制是1,权重为1,所代表的值就是1 * 1 = 1

        那么4位二进制 0001 所代表的十进制就是 0 + 0 + 0 + 1 = 1,即十进制 1

8421码中二进制和十进制的对应关系如下:

十进制0123456789
二进制0000000100100011010001010110011110001001

3.2 8421编码的加法运算

        当我们输入 1 + 2 以后,计算机是怎么计算的呢?

        首先,计算机会将十进制位对应的二进制交给算术逻辑单元(ALU)

         1 对应的二进制是 0001

         2 对应的二进制是 0010

        算术逻辑单元收到这两个值以后,就会执行加操作,就像我们小学的加法运算,如下图
在这里插入图片描述
        这两个二进制相加的结果是 0011 ,对应的十进制就是 3 ,即 1 + 2 = 3

3.3 8461编码的加6修正

        这时候又有一个问题,二进制对应的十进制只有10个,也就是只能表示0~9这几个值,如果相加的结果超过了这个范围该怎么表示呢?

        BCD码给出了一个解决方法:「加6修正」,即超过0~9范围的值加6(0110

        比如 9 + 8,

        计算机首先会将十进制对应的二进制交给算术逻辑单元(ALU)

         9 对应的二进制是 1001

         8 对应的二进制是 1000

        算术逻辑单元收到这两个值以后,就会执行加操作,就像我们小学的加法运算,如下图

在这里插入图片描述
        相加的结果是 10001 ,这个二进制结果跟0~9范围内任何一个十进制都不匹配,即超出了这个范围,这时候电脑会对结果加上6(0110),如下图

在这里插入图片描述
        由于BCD码以4位保存一个值,对于不满4位的值,会在左侧补充 0 直至4位。

        结果中左侧二进制 0001 表示 1

        右侧二进制 0111 表示 7

        即 8 + 9 = 17

  • 30
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 32
    评论
计算机组成原理中,BCD码加法器是用于进行BCD码的加法运算的电路。BCD码是二进制编码的十进制数,它将每个十进制数表示为四位二进制数,范围从0到9。 在设计BCD码加法器的实验中,首先需要了解BCD码编码规则和加法规则。BCD码编码规则是将十进制数的每一位数用其对应的四位二进制表示,并按照从低位到高位的顺序进行排列。例如,十进制数5的BCD码为0101,十进制数11的BCD码为0001 0001。 BCD码加法器的实验步骤如下: 1. 设计加法器的输入与输出部分。输入部分包括两个BCD码输入和一个进位输入,输出部分为二进制和BCD码的和以及进位输出。 2. 设计加法器的运算部分。运算部分由多个二进制全加器组成,每个二进制全加器用于相加两个对应位置的二进制位和进位位,并得到相应的和以及进位。 3. 设计加法器的逻辑控制部分。逻辑控制部分用于控制BCD码加法器的工作过程,包括处理进位、输出和BCD码转换等操作。 4. 进行电路布线和连接,使用逻辑门等电子元件搭建BCD码加法器电路。 5. 进行实验验证,输入两个BCD码和进位,观察输出和进位的正确性。 6. 对实验结果进行分析和总结,比较实验结果与预期设计的差异,找出可能存在的问题并进行改进。 通过以上的实验,我们能够深入了解BCD码加法器的工作原理和设计思路。这有助于我们进一步理解计算机组成原理中二进制和BCD码的运算方法,以及逻辑电路的设计与实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

士别三日wyx

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

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

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

打赏作者

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

抵扣说明:

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

余额充值