gpt4 book ai didi

十进制与BCD码转换的算法详解

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 29 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章十进制与BCD码转换的算法详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

手头上在做的项目需要用到ds1302实时时钟,ds1302读出来的数据是BCD码,需要转换,写入也是.

BCD码

BCD是指用二进制来表示十进制数的编码,即用4位二进制来表示一位十进制数,因此4位二进制数表示最大的十进制数9(1001),只取十六个数中的十个数.

比如:

BCD码:0x99(153),该BCD码转换成十进制是99. 。

算法原理

十进制是逢十进一,而十六进制是逢十六进一,它们之间的每次进位差 6 6 ,所以一个十进制数要转换成BCD码,要先算清多进位的位数,比如,十进制 99" role="presentation"> 99 进位了 99/10=9 99 / 10 = 9 次,每次进位和十六进制进位相比差 6 6 ,所以一共差了 9 × 6 = 54" role="presentation"> 9×6=54 ,即 99+54=153 99 + 54 = 153 (BCD)。BCD码转化成十进制码也一样.

代码 。

?
1
2
3
4
5
6
7
8
9
static uint8_t BCD2DEC(uint8_t bcd) 
     return (bcd-(bcd>>4)*6);
 
static uint8_t DEC2BCD(uint8_t dec) 
     return (dec+(dec/10)*6);
}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我的更多内容! 。

原文链接:https://blog.csdn.net/guanjianhe/article/details/81452557 。

最后此篇关于十进制与BCD码转换的算法详解的文章就讲到这里了,如果你想了解更多关于十进制与BCD码转换的算法详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com