bcd码是什么 bcd码是什么码


bcd码是什么 bcd码是什么码

文章插图
bcd码为什么会有八位?这是由BCD码的编码规则所决定的 。首先要了解什么是BCD码 。
BCD码是用4个二进制位数来表示一位十进制数 。在计算机中一个基本存贮单元(通常被称为字节)是8个二进制位,所以一个字节只可以表示2位BCD码 。而一位十进制数的最大值是9 , 因此用一个字节表示的BCD码最大值是99 。
BCD码的运算法则是什么?有个问题必须先核实 , 这个16位二进制数是有符号数还是无符号数?这个问题影响到电路的具体设计 , 因为你需要一个除法器,关于除法器的设计自行去搜索,最简单的是原码加减交叉除法器 。
有了除法器,下面开始转换 。
一,16位二进制数除以10,将得到的余数取低四位,得到第一个BCD码 。
二 , 将上次除法运算的商再除以10,取余数低4位,得到第二个BCD码 。
依次类推,直到商小于10,除法就做完了 。16位二进制能表示的最大数是65535 , 所以你需要进行五次除法运算 。结果是五个bcd码,一共有20位 。因为你只显示两个BCD , 所以将高12位的信号用或门连起来,作为溢出信号,输出给bcd码led,当溢出信号为1时,led显示E,表示错误 。
说了老半天 , 想起你可能是说的软件实现 。其实基本过程差不多,就是做除法 。至于如何压缩BCD码,你可以用表示高位的bcd码乘以16或左移4位,然后与表示低位的BCD码做按位或运算,就能得到压缩的BCD码 。
在软件中如何显示压缩的BCD码呢?得设计一个译码模块,先将的压缩BCD码扩展成8位一个,过程与上面相反 。弄好后,然后和00110000做按位或运算,就能得到这个BCD码的ASCII码 。
bcd码怎么计算?BCD码的运算法则
BCD码的运算规则:BCD码是十进制数,而运算器对数据做加减运算时,都是按二进
制运算规则进行处理的 。这样 , 当将BCD码传送给运算器进行运算时,其结果需要修正 。
【bcd码是什么 bcd码是什么码】修正的规则是:当两个BCD码相加,如果和等于或小于1001(即十进制数9) , 不需要修
正;如果相加之和在1010到1111(即十六进制数0AH~0FH)之间,则需加6进行修正;如
果相加时,本位产生了进位,也需加6进行修正 。这样做的原因是 , 机器按二进制相加 , 
所以4位二进制数相加时,是按“逢十六进一”的原则进行运算的,而实质上是2个十进
制数相加,应该按“逢十进一”的原则相加,16与10相差6,所以当和超过9或有进位时 , 
都要加6进行修正 。下面举例说明 。【例1.3】需要修正BCD码运算值的举例 。
(1)计算5+8;(2)计算8+8
解:(1)将5和8以8421BCD输入机器 , 则运算如下:
0101
+)1000
1101结果大于9
+)0110加6修正
1001113的BCD码
结果是0011 , 即十进制数3,还产生了进位 。5+8=13 , 结论正确 。
(2)将8以8421BCD输入机器,则运算如下:
1000
+)1000
10000结果大于9
+)0110加6修正
1011016的BCD码
结果是0110,即十进制的6,而且产生进位 。8+8=16 , 结论正确 。
微机原理代码:(AL=BCD5 , BL=BCD8)设AH=0 , 则
ADDAL,BL
AAA
结果为AX=0104H,表示非压缩十进制数,CF=1,AF=1,AH=1,AL=1
使用AAA指令,
什么叫BCD码?用4位二进制数来表示1位十进制数中的0~9这10个数码 , 简称BCD码例如:十进制8的BCD码是1000十进制9的BCD码是1001再者,十进制83.6的BCD码是10000011.0110可以理解BCD就是一个二进制

相关经验推荐