0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

8421bcd码运算规则

PoisonApple 来源:网络整理 2018-03-02 09:53 次阅读

BCD代码。Binary-Coded Decimal‎,简称BCD,称BCD码或二转十进制代码,亦称二进码十进数。是一种二进制的数字编码形式,用二进制编码的十进制代码。这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧,最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免却使电脑作浮点运算时所耗费的时间。此外,对于其他需要高精确度的计算,BCD编码亦很常用。

由于十进制数共有0、1、2、……、9十个数码,因此,至少需要4位二进制码来表示1位十进制数。4位二进制码共有2^4=16种码组,在这16种代码中,可以任选10种来表示10个十进制数码,共有N=16!/(16-10)!约等于2.9乘以10的10次方种方案。常用的BCD代码列于末。

BCD码的运算法则

BCD码的运算规则:BCD码是十进制数,而运算器对数据做加减运算时,都是按二进制运算规则进行处理的。这样,当将 BCD码传送给运算器进行运算时,其结果需要修正。

8421bcd码运算规则

修正的规则是:当两个BCD码相加,如果和等于或小于 1001(即十进制数 9),不需要修正;如果相加之和在 1010 到1111(即十六进制数 0AH~0FH)之间,则需加 6 进行修正;如果相加时,本位产生了进位,也需加 6 进行修正。这样做的原因是,机器按二进制相加,所以 4 位二进制数相加时,是按“逢十六进一”的原则进行运算的,而实质上是 2 个十进制数相加,应该按“逢十进一”的原则相加,16 与10相差 6,所以当和超过 9或有进位时,都要加 6 进行修正。下面举例说明。

需要修正 BCD码运算值的举例。

(1) 计算 5+8;

(2) 计算 8+8

解:(1) 将 5 和 8 以 8421 BCD输入机器,则运算如下:

0 1 0 1

+) 1 0 0 0

1 1 0 1 结果大于 9

+) 0 1 1 0 加 6 修正

1 0 0 1 1 13 的 BCD码

结果是 0011,即十进制数 3,还产生了进位。5+8=13,结论正确。

(2)将8以8421 BCD输入机器,则运算如下:

1 0 0 0

+)1 0 0 0

1 0 0 0 0 结果大于9

+)0 1 1 0 加6修正

1 0 1 1 0 16的BCD码

结果是0110,即十进制的6,而且产生进位。8+8=16,结论正确。

微机原理代码: (AL=BCD 5,BL=BCD 8) 设AH=0,则

ADD AL,BL

AAA

结果为 AX=0104H,表示非压缩十进制数,CF=1,AF=1,AH=1,AL=1

8421bcd码运算规则

使用AAA指令,可以不用屏蔽高半字节,只要在相加后立即执行AAA指令,便能在AX中得到一个正确的非压缩十进制数

压缩BCD码与非压缩BCD码的区别—— 压缩BCD码的每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110B表示十进制数96D;非压缩BCD码用1个字节表示一位十进制数,高四位总是0000,低4位的0000~1001表示0~9.例如00001000B表示十进制数8.

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 十进制
    +关注

    关注

    0

    文章

    62

    浏览量

    13029
  • BCD码
    +关注

    关注

    1

    文章

    52

    浏览量

    18132
  • 8421码
    +关注

    关注

    1

    文章

    8

    浏览量

    3961
收藏 人收藏

    评论

    相关推荐

    常用编码(BCD编码、余3、格雷反射、奇偶校验)

    常用编码1、BCD编码    例 写出十进数563.97D对应的8421BCD。     563.97D=0101 0110 0011 . 1001 01118421BCD   例 
    发表于 04-11 10:00

    什么是BCD8421、余三、格雷

    !!余三是在8421BCD的基础上,把每个数的代码加上0011(对应十进制数3)后得到的。格雷的编码规则是相邻的两代码之间只有一位二进
    发表于 11-03 17:36

    quartusii 的warning和仿真问题

    高手!求助! 这是用两片74LS83设计的8421BCD全加器,要求输入为8421BCD,输出也为8421BCD。为什么波形图不正确呢?
    发表于 11-15 16:16

    【FPGA开源教程连载】第五章 BCD计数器设计与应用

    格式均为代指8421。通过以上介绍将十进制895转换为BCD就是1001_1001_0101,同理若将BCD
    发表于 12-23 21:08

    什么是BCD 常用的BCD转换方法

    用一种二进制编码的十进制数——BCD , 它是十进制数, 遵守 逢十进一的规则, 但它的十个不同的数字符号不是通常的 0、 1、 2⋯9, 而是采用 4 位二进制 编码来表示, 即分别用 0000
    发表于 12-10 14:30

    想用两片74LS153和一只数码显示四组8421BCD测试系统即用一只数码管分别显示四位十进制数的个位 十位 百位 千位

    用两片74LS153和一只数码显示四组8421BCD测试系统即用一只数码管分别显示四位十进制数的个位 十位 百位 千位;请教各位大佬
    发表于 12-15 13:59

    C语言中十进制转8421BCD是用的什么方法?

    今天FPGA的同事问我C语言中十进制转8421BCD是用的什么方法?第一时间我在想除了除10取余还能有什么办法?过了一会儿,突然想起有没有办法从移位上解决这个问题呢?于是乎就看到这个链接。然后就
    发表于 07-15 09:21

    8421BCD与二进制原码的相互转换

    8421BCD与二进制原码的相互转换。九层妖塔 起于垒土【蓝桥杯】—{模板Template}—{Part7:DS18B20温度传感器}一、基本模板1、`头文件`● 改编自国信长天蓝桥杯官方蓝皮书
    发表于 01-17 07:13

    什么是BCD

    文章目录什么是BCD ?什么是BCD ?在日常生产生活中用的最多的数字是十进制数字,而单片机系统的所有数据本质上都是二进制的,所以聪明的前辈们就给我们创造了
    发表于 01-20 08:08

    在FPGA中实现一种二进制转BCD的电路设计

    字逻辑设计课程中,我们已经学过了BCD的相关知识,它用4位二进制数来表示1位十进制数中的09,是二进制编码的十进制代码,常见的BCD8421B
    发表于 07-12 16:41

    常用编码(BCD编码、余3码、格雷反射码、奇偶校验码)

    常用编码1、BCD编码    例 写出十进数563.97D对应的8421BCD码。     563.97D=0101 0110 0011 . 1001 01118421BCD   例 写出
    发表于 09-19 11:23 8363次阅读

    余3码至8421BCD码的转换_8421BCD码转换成余3码

    二进制编码的十进制数,简称BCD码。这种方法是用4位二进制码的组合代表十进制数的0,1,2,3,4,5,6 ,7,8,9 十个数符。由8421码加3后形成的余3码是一种BCD码,它是由8421
    的头像 发表于 03-02 09:38 18.6w次阅读
    余3码至<b class='flag-5'>8421BCD</b>码的转换_<b class='flag-5'>8421BCD</b>码转换成余3码

    8421BCD码转换成5421BCD

    5421BCD码,是二—十进制代码(BCD码)的一种;二—十进制代码(BCD码)的一种;5421BCD码各位的权依次为5421,也是有权码。8421
    的头像 发表于 03-02 13:48 7.6w次阅读
    <b class='flag-5'>8421BCD</b>码转换成5421<b class='flag-5'>BCD</b>码

    74ls147中文资料汇总(74ls147引脚图及功能表_工作原理及逻辑图)

    0的输出其对应的8421BCD编码。当9个输入全为1时,4个输入出也全为1,代表输入十进制数0的8421BCD编码输出。采用16脚封装,是一个10线-4线8421BCD码优先编码器。
    发表于 05-07 09:12 13.7w次阅读
    74ls147中文资料汇总(74ls147引脚图及功能表_工作原理及逻辑图)

    什么是BCD

    在使用RTC外设时,我们常常会接触 BCD码的概念,同时鱼鹰在介绍 USB 协议版本时也说了 BCD 码,那么什么是 BCD 码? BCD 码分为多种,今天鱼鹰介绍最常用的
    的头像 发表于 09-07 09:10 5574次阅读