首页 > 其他 > 详细

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

时间:2016-10-26 09:25:00      阅读:330      评论:0      收藏:0      [点我收藏+]

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码

原文:http://www.cnblogs.com/deng-tao/p/5999057.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!