8421bcd码运算规则

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码传送给运算器进行运算时,其结果需要修正。
修正的规则是:当两个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
使用aaa指令,可以不用屏蔽高半字节,只要在相加后立即执行aaa指令,便能在ax中得到一个正确的非压缩十进制数
压缩bcd码与非压缩bcd码的区别—— 压缩bcd码的每一位用4位二进制表示,一个字节表示两位十进制数。例如10010110b表示十进制数96d;非压缩bcd码用1个字节表示一位十进制数,高四位总是0000,低4位的0000~1001表示0~9.例如00001000b表示十进制数8.

INA116缓冲器保护驱动电路
如何运用区块链技术解决溯源问题
什么是柔性电路?为什么在医疗设备中使用它们?
LED汽车照明市场大好 Laster积极扩大中国产能
航天器用低频电缆网设计案例说明
8421bcd码运算规则
!!卖+买 MS9720A Anritsu MS9720A
家里该不该安装智能门锁 看完这三连问或许你心里就有数了
Synaptics宣布行业首款光学指纹传感器的Natural ID系列生物认证解决方案
英特尔i7处理器和i5处理器之间的区别
世界顶级的氮化硼冷却填料
中国开发新芯片,算力提升3000倍!
TI新推6核DSP,兼具极低功耗和高性能
基于物联网和传感器技术的环保垃圾分类监测系统
“一碰即响”的防盗器,theft alarm
用AT89C51单片机控制步进电机的汇编源程序
音频系统噪声源的排除方法
facebook的黑科技技术一次汇总看完
微信小程序上线三天 看网友们现在怎么样了
码垛机器人该如何保养