单片机中怎样用C语言实现 十进制数20化成16进制数14?
我想把一个十进制数在单片机内部转换为十六进制,来点亮数码管,怎么办,求大神 你是要把20D变成0x14吧...直接取模不就行了,搜一下进制转换,大把的资料,这个帖子发的没意思.
单片机里面本来就没有什么十进制十六进制神马的,它只认二进制,数制转化都是给人看的. 你说的应该是16进制转BCD码. 数组下标,查表。。。。 我的用途是这样的,在atmage16的单片机中,通过按键设置一个数值,然后让他付给8个pc口来发送8位数据,该怎么办 kyughanum 发表于 2014-3-7 17:11
数组下标,查表。。。。
什么表,是吧十进制对应十六进制数做成一个数组,来查询吗 uchar zh_10_16(uchar dat)//把十进制转成16进制
{
uchar a,b;
a=dat/16;
a=10*a;
b=dat%16;
dat=a+b;
return dat;
}
uchar zh_16_10(uchar dat)//把16进制转成10进制
{
uchar a,b;
a=dat/10;
a=16*a;
b=dat%10;
dat=a+b;
return dat;
} 数码管?是七段数码管加小数点吗?如果那样的话自己做个十六个元素的无符号八位数组,第一个元素存数字零的段码,自己拿草稿纸画出来,自己琢磨 519382868 发表于 2014-3-7 20:50
uchar zh_10_16(uchar dat)//把十进制转成16进制
{
uchar a,b;
谢谢了,太好了
页:
[1]