如何在c中将无符号字符打印为人类可读的格式?

问题描述 投票:0回答:4

我想以这种格式打印无符号字符:

0xff
。我怎样才能这样做呢?谢谢。

c char
4个回答
1
投票
printf("0x%02X", value & 0xFF);

如果您希望值始终为 2 个字符。另外“& 0xFF”将避免一些值在前面打印很多“F”(有时会发生)


1
投票

%x
是用于以小写字母的十六进制格式打印
unsigned int
(这就是
unsigned char
在传递给可变参数函数时转换为的内容,例如
printf()
)的基本转换说明符。如果您想要前导零和至少两位数字,请使用
%02x
。此外,如果您还需要
0x
前缀,请在前面添加
#
修饰符。所以你的格式字符串看起来像

"%#02x"

0
投票
printf("0x%x\n", variable);

访问 printf 文档 页面了解更多详细信息


0
投票

对于字符我用这个

printf("0x%hhx\n",your_char);
© www.soinside.com 2019 - 2024. All rights reserved.