如何把整数 转换成固定长度的16进制数,用hex输出,而不丢弃16进制00

2019-07-21 00:27发布

如何把整数 转换成固定长度的16进制数,用hex输出,而不丢弃16进制00
发现用printf发送,总是把00丢弃
比如发送整数61440转换16进制后是F0 00  调试助手用hex只显示F0,没有后面的00,(如果发送00 F0,则printf 无法输出)
[mw_shl_code=c,true]void u32_to_hex(u32 a) { u32 i=a; // u32 i=40582974; u8 zu[5]; zu[0]=i>>24; zu[1]=i>>16; zu[2]=i>>8; zu[3]=i; zu[4]=0; printf("%s",zu); } void u16_to_hex(u16 a) { u8 zu[3]; u16 i=a; zu[0]=i>>8; zu[1]=i; zu[2]=0; printf("%s",zu); }[/mw_shl_code]


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-07-21 03:54
不能用printf,直接写DR寄存器。
fanghuiopenedv
2楼-- · 2019-07-21 06:52
 精彩回答 2  元偷偷看……
CCode
3楼-- · 2019-07-21 09:40
所以这是显示的问题,数据没有丢失是吗?
CCode
4楼-- · 2019-07-21 11:12
正点原子 发表于 2015-4-7 20:24
不能用printf,直接写DR寄存器。

所以这是显示的问题,00和后面的数据没有丢失是吗?

一周热门 更多>