十六进制转化 b右江祖减伯场践稳引团江cd码
的有关信息介绍如下:问题补充说明:我现在用的单片机输入是十六进制的数 怎样把它转换为bcd码的输出 用C语言实现 应该如何编程 谢谢
voidHextoBCD(u8*pBuff,u8len)//十六进制转为BCD码
{
u8i,temp;
fo360问答r(i=0;i<len;i++)
{
temp=pBuff[i]/10;
time[i]=pBuff[i]%10+temp*1宁胡协眼买6;
}
}
bcd码就是用二进制数来表示传引况帮般留常用的十进制数。就是用四个位的二进制来表示一个二进制数。一个字节一共有八个位,它就可以表示两个bcd码。比如,0FH等于二进制物15,用一蠢歼个字节低四位来表示5,高四位来表示1合起来就是15H,不用转换两次的。
扩展资料例如:
63然属米影获÷10=6……3
即商是6,余数是
如果将商乘以16再加上余数,就禅租是:支路6×16+3=99,随示社磁其16进制数就是63H,即是十进制数63(16进制为3FH)的BCD码为63H。
如果在单片机中,程带袭冲序这么写:charHEX,BCD;BCD=(HEX/10*16)+(HEX%10);
其中HEX存储十六进制数,BCD中存储的就是其BCD码。
参考资料来源:百度百科-BCD码