sprintf

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

image.png

软件设置如上



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


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

image.png

image.png


好的,谢谢。去掉这个也可以实现,只是flash 会多占用十几K。

image.png


只有登录才能回复,可以选择微信账号登录