请教一个一个十六进制格式化输出的问题

ceasar1134 2010-05-17 10:46:43
我在串口接收到一个数据,我想把它打印出来,使用下面的格式化输出语句。

char i = (char)0xAA;
printf("%02X ", i);

这样打印出来的内容是FFFFFFAA ,而不是我希望的AA ,请问有什么方法能实现我的格式?
...全文
302 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
september_119 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 huanmie_09 的回复:]
如需要阅读该回复,请登录或注册CSDN!
[/Quote]
怎么弄的?
ykgamer 2010-06-27
  • 打赏
  • 举报
回复
%2.2X是什么意思啊????? 后面的是宽度 前面的代表什么?
huanmie_09 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ceasar1134 的回复:]
的搞成unsigned char 类型的?
[/Quote]
或者输出的时候把高位屏蔽掉:

char i = (char)0xAA;
printf("i=%02X ", i&0xFF);
ceasar1134 2010-05-17
  • 打赏
  • 举报
回复
的搞成unsigned char 类型的?
liutengfeigo 2010-05-17
  • 打赏
  • 举报
回复
unsigned char i = 0xAA;
printf("%02X ", i);

ruibipiglet 2010-05-17
  • 打赏
  • 举报
回复

unsigned char i = 0xAA;
printf("%02X ", i);

// 输出 AA

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧