我正在用C编写程序,我有几个用于调试的printf语句。有没有办法改变printf上HEX输出的精度?例。我有0xFFF,但我希望它打印出0x0FFF。
答案 0 :(得分:13)
说printf("%04X", x);
。
0
表示“填充零”,4
表示“至少四个字符宽”。
对于整数,人们不使用术语“精度”(因为整数 精确),而是“字段宽度”或类似的东西。精度是打印浮动时科学记数法的位数。
答案 1 :(得分:6)
以十六进制打印时,可以使用printf的精度字段。
例如:
int i = 0xff;
printf ("i is 0x%.4X\n", i);
printf ("i is %#.4X\n", i);
两者都会打印: 设为$ 00FF