BCD码转换为十进制或者十进制转为BCD码

Posted 涛少&

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BCD码转换为十进制或者十进制转为BCD码相关的知识,希望对你有一定的参考价值。

BCD码其实就是之前在数字电路中说的 用4位二进制数值 来表示一个0-9中的数字,
例如: 0000=0 0001=1 0010=2 0011=3
也就是说如果把一个数字作为一个BCD码,例如: 11 22
那么他应该展开为: 00010001 00100010
也就是对应为十进制: 17 34
所以一个BCD吗转为十进制数据的思想就是: 将BCD码每个数字分离出来,例如上面的11
将十位的1分离出来然后右移4位乘上一个10 在加上 个位的数字即可。十进制转BCD码的
思想:将这个十进制数字用二进制表示,高4位表示的数字是多少 * 10再加上低四位表示
的数字,C程序如下:

#define BCD_to_Decimal(bcd) ((((bcd) / 10) >> 4) + (bcd) % 10);
#define Decimal_to_BCD(int dec) (((0xf0 & (dec)) >> 4)*10 + (0x0f & (dec)))

以上是关于BCD码转换为十进制或者十进制转为BCD码的主要内容,如果未能解决你的问题,请参考以下文章

十进制数如何换算成8421BCD码

8421BCD码怎样转换成十进制

8421bcd码1111011转换成十进制

16位二进制数怎么转换为BCD码

请问这个C51中的这个函数可以把BCD码转换成十进制,具体原理是怎么执行的呀

十进制怎么转成BCD码