[MCU] 把十六进制数转换成十进制数

[复制链接]
1775|33
 楼主| shimx 发表于 2020-2-23 11:16 | 显示全部楼层 |阅读模式
我想在单片机里把十六进制数转换成十进制数,但不知道怎么用c进行编写
jiaxw 发表于 2020-2-23 11:18 | 显示全部楼层
你举个例子
 楼主| shimx 发表于 2020-2-23 11:19 | 显示全部楼层

TH1=0xab,TL1=0xcd,把这四位的十六进制数转换成十进制数。
spark周 发表于 2020-2-23 11:21 | 显示全部楼层
 楼主| shimx 发表于 2020-2-23 11:22 | 显示全部楼层
额,您可以说的具体点吗
spark周 发表于 2020-2-23 12:13 | 显示全部楼层
0xff=255;
255/100=2//百位
255%100=55;
55/10=5...//十位
...
liliang9554 发表于 2020-2-23 12:14 | 显示全部楼层
LZ懂加权吗?
一个十六进制数,XnXn-1X......X0
转换成十进制: Xn*16^(n)+Xn-1*16^(n-1)+......+X0*16^0
liliang9554 发表于 2020-2-23 12:16 | 显示全部楼层

例如: 0xab=10*16^1+11*16*0=10*16+11=171
午夜粪车 发表于 2020-2-23 12:18 | 显示全部楼层
请问我在写串口程序的时候。接收数据时输入端输入的是16进制,但是把它当做十进制数看的,然后如何把它的各个位给分离开,才能在数码管上显示已经输入的数?
jiaxw 发表于 2020-2-23 12:20 | 显示全部楼层
主要是明白除"/"和取模"%"的意思和用法就可以操作了......这个还是挺有用的......
午夜粪车 发表于 2020-2-23 12:22 | 显示全部楼层
赞成7楼,其实就是加权 Xn*16^(n)+Xn-1*16^(n-1)+......+X0*16^0
 楼主| shimx 发表于 2020-2-23 12:24 | 显示全部楼层
嗯,懂了,多谢啦
xxrs 发表于 2020-2-23 12:34 | 显示全部楼层
除以十六就可以了
jlyuan 发表于 2020-2-23 12:35 | 显示全部楼层
楼主要实现什么?
pangb 发表于 2020-2-23 12:38 | 显示全部楼层

就是加起来%10就可以。
heweibig 发表于 2020-2-23 12:40 | 显示全部楼层
楼主要显示什么吗?
chenho 发表于 2020-2-23 12:42 | 显示全部楼层
十六进制有ABCDEF
stly 发表于 2020-2-23 12:43 | 显示全部楼层
一个数的每一位都有一个权值
xxrs 发表于 2020-2-23 12:45 | 显示全部楼层
面就要补0占位 转换为16进制是F
pangb 发表于 2020-2-23 12:48 | 显示全部楼层

16进制数的第0位的权值为16的0次方
您需要登录后才可以回帖 登录 | 注册

本版积分规则

857

主题

10661

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部