WCH沁恒单片机
直播中

张勇

7年用户 1448经验值
私信 关注
[问答]

用keil可以用sprintf转换64位的十六进制,这条指令后转换出来的是lx的原因?

用keil可以用sprintf(tmp , "%012llx" , dec_number);转换64位的十六进制,咱们的软件使用这条指令后转换出来的是lx,我应该怎么操作。
  

回帖(4)

h1654155275.5916

2022-7-28 09:48:04

软件设置如上
举报

张鑫

2022-7-28 09:48:10
是希望将64位的dec_number转换成字符串放到tmp这个数组里吗,“转换出来的是lx”是指只有32位转换成为了字符而不是64位转换成了字符吗?稍等我复现一下。
举报

杨海清

2022-7-28 09:48:16
目前的编译器库中printf系不支持64位操作,无法识别“%llx”为64位十六进制格式,可以考虑将其拆分为2个32位数进行转换。

举报

王明钊

2022-7-28 09:48:23
好的,谢谢。去掉这个也可以实现,只是flash 会多占用十几K。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分