各位单片机好友最近在做DS1302时BCD码什么意思

Value=(Value/10)*16+Value%10比如其中有这条,怎么转换来的,我大概算了一下,假如我用十进制的24,换算成十六进制应该是18,带到上面的公式VALUE也不==18呀
各位请帮忙

    BCD码是2进制表示的十进制数。

    16进制的18H是10进制的24

    换成BCD码就是0010 0100B,用16进制就是  24BCD.   0010是2 ,0100是4.

Value=(Value/10)*16+Value%10

把10进制的24用BCD码表示是24BCD,即00100100,变换方法就是,24/10*16+24% 10

24除10是2乘16是32,用二进制表示 是00100000;

24%10是4,用二进制表示是0100,加起来就是00100100.

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-02-04

  BCD码(Binary-Coded Decimal‎)亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。

  常用BCD码对照表:

  其中8421码是最常见的编码方式。

    

第2个回答  推荐于2016-03-28
答:
BCD码是2进制表示的十进制数。
0000-----0
0001------1
0010------2
0011------3
0100------4
0101------5
0110------6
0111------7
1000-----8
1001-----9
再没了。

所以16进制的18H是10进制的24.

换成BCD码就是0010 0100B,用16进制就是 24BCD. 0010是2 ,0100是4.

Value=(Value/10)*16+Value%10

你把10进制的24用BCD码表示是24BCD,即00100100,变换方法就是,24/10*16+24% 10

24除10是2乘16是32,用二进制表示 是00100000;
24%10是4,用二进制表示是0100,加起来就是00100100.追问

不胜感激,谢过了

本回答被提问者采纳
第3个回答  2011-04-15
BCD码就是8421码 DS1302中读出的是十六进制的 Value=(Value/16)*10+Value%10这条语句是将十六进制表示的Value转换成十进制的 就可以了
第4个回答  2011-04-15
里面的VALUE是十六进制的BCD码,BCD码的范围是00---99。
相似回答