8421BCD码转换成十进制数的方法
发布网友
发布时间:2024-07-22 12:58
我来回答
共1个回答
热心网友
时间:2024-08-09 04:56
关于8421BCD码转换成十进制数的方法这个很多人还不知道,今天来为大家解答以上的问题,现在让我们一起来看看吧!
1、去百度文库,查看完整内容> 内容来自用户:持浆作挥斗递 将BCD码转换为十进制数? 将8421BCD码转换为十进制数(转)(2009-10-30 08:36:48)转载标签:杂谈 分类:单片机学习在读写DS1302时需要把读写数据BCD码转换成十进制,一下是本人在网络上看到的一篇解释较为简单易懂的解释//*****************************************************************//bcd hex //此函数用于将8421BCD码转换为十进制数,从函数参数可以看出此BCD码是由两位十进制数组成的。
2、BCD码是用二进制数对十进制数的各个位数进行编码,比如十进制数58,那么转换为BCD码为0x58,356对应BCD码就是0x356。
3、注意这是编码不是数进制间的转换,他们之间不存在等价关系。
4、只是进行编号,为了方便对编号后的数据用十六进制数表示。
5、对应编码规则如下:十进制数---8421BCD码----编码后用等价的十六进制数表示0-----------0000----------0x01-----------0001----------0x12-----------0010----------0x23-----------0011----------0x34-----------0100----------0x45-----------0101----------0x56-----------0110----------0x67-----------0111----------0x78-----------1000----------0x89-----------1001----------0x9知道了编码规则,那么将2位8421bcd码编号的数,还原为十进制数也就方便了。
6、函数参数是一个字节那么决定了此8421BCD码是两位码即高四位是一个码值、低四位是一个码值,将高四位乘以10加上低四位。