如何把整数 转换成固定长度的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]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
所以这是显示的问题,00和后面的数据没有丢失是吗?
一周热门 更多>