我想以这种格式打印无符号字符:
0xff
。我怎样才能这样做呢?谢谢。
printf("0x%02X", value & 0xFF);
如果您希望值始终为 2 个字符。另外“& 0xFF”将避免一些值在前面打印很多“F”(有时会发生)
%x
是用于以小写字母的十六进制格式打印 unsigned int
(这就是 unsigned char
在传递给可变参数函数时转换为的内容,例如 printf()
)的基本转换说明符。如果您想要前导零和至少两位数字,请使用 %02x
。此外,如果您还需要 0x
前缀,请在前面添加 #
修饰符。所以你的格式字符串看起来像
"%#02x"
printf("0x%x\n", variable);
访问 printf 文档 页面了解更多详细信息
对于字符我用这个
printf("0x%hhx\n",your_char);