打印

在单片机中想把十进制X = 123456   转为十六进制 X = 0x123456的格

[复制链接]
1428|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hua159753|  楼主 | 2013-11-13 15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
chunyang| | 2013-11-13 18:15 | 只看该作者
无需什么转换,幅值的时候给定数据格式就是,输出时也同样。

使用特权

评论回复
评论
zyj9490 2013-11-13 18:46 回复TA
不是这样吧 
板凳
shalixi| | 2013-11-13 20:46 | 只看该作者
两个都可以用的,只要输入时按照各自的格式输入就行了。输出时也按照各自的格式输出就行了。

使用特权

评论回复
地板
airwill| | 2013-11-14 09:16 | 只看该作者
如果直接是程序里的数据, 那么编译器自动会处理的, 十进制X = 123456   和十六进制 X = 0x123456的格式完全一样.
输入或字符串里的, 才需要转换, 有不少 string 的函数来处理. 详细可以看看 stdlib.h.

使用特权

评论回复
5
看见未来| | 2013-11-14 11:00 | 只看该作者
假如a的十进制是3位数;
a = (a/100)*16*16 + ((a%100)/10)*16 + a%10;
这个公式能把这个数转成16进制,数字一样的数。具体几位数对照这个公式变换一下转就行了。
实际上就是10进制(a位)的第一位乘以16的(a-1)次方,第二位乘以16的(a-2)次方........

使用特权

评论回复
6
tyw| | 2013-11-14 11:21 | 只看该作者
MCS-51单片机实用子程序库 57页 0.3M.pdf (334.51 KB)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

16

帖子

1

粉丝