BCD码
用4位二进制数来表示十进制数中的0~9这十个数码的编码形式,简称为BCD码。
BCD码全称
BCD码英文全称为Binary-Coded Decimal,简称为BCD码或者二-十进制代码,亦称为二进码十进数。
BCD码优点
这种编码形式使二进制和十进制之间的转换能够快捷进行。采用BCD码,既可保存数值的精确度,又可避免使电脑作浮点运算时所消耗的时间。
BCD码应用
最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串做准确的计算。也被用于其他需要高精度计算的场合。
大数计算等等问题可能都会应用到该问题。
有权码和无权码
有权码和无权码区别是每一位是否有权值。
例如,8421BCD码“0111=7”,0×8+1×4+1×2+1×1=7,8无权值,其他都有权值。
BCD码分类
(1)BCD码分为有权和无权两类:有权BCD码:8421码,2421码,5421码,...
无权BCD码:余3码,格雷码,...
其中,8421码是最常用的有权BCD码。
(2)BCD码又可分为压缩式和非压缩式两类。非压缩式一般是一个字节来表示,其中高四位置0,低四位表示相应数字。压缩式仅采用四位表示相应的数字。
8421码
其他较常用的BCD码
各种BCD码的特点
8421码编码直观,易于理解,最常用
5421码和2421码中大于5的数字都是高位为1,5以下的高位为0
余3码是在8421码基础上加上3,有上溢出和下溢出的空间
BCD码举例
以8421码为例。
(1)十进制数:123
对应的8421码为:0001 0010 0011
(2)8421码:0011 0010 0001
对应的十进制数为:321
8421码的进位
因为8421码中的9为1001,10为0001 0000,可见8421码遇见1001就产生进位。而普通的二进制码,到1111才产生进位10000。
BCD码运算
将BCD码传送给运算器运算时,需要进行修正。
修正规则为:当两个BCD码相加,如果和等于或小于 1001(即十进制数9),不需要修正;
如果相加之和在 1010 到1111(即十六进制数 0AH~0FH)之间,则需加 6 进行修正;
如果相加时,本位产生了进位,也需加 6 进行修正。
运算举例
(1)计算1+2。
0 0 0 1
+0 0 1 0
0 0 1 1
结果为3,小于9,不需要修正。
(2)计算5+8。
0 1 0 1
+1 0 0 0
1 1 0 1
结果大于9,需加 6 进行修正。
1 1 0 1
+0 1 1 0
1 0 0 1 1
10011对应的十进制数为13。
参考资料
(1)百度百科:BCD码
--------------------- 本文来自 三五月儿 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/yl2isoft/article/details/16916889?utm_source=copy