printf精度

时间:2011-07-14 23:57:35

标签: c formatting printf

我正在用C编写程序,我有几个用于调试的printf语句。有没有办法改变printf上HEX输出的精度?例。我有0xFFF,但我希望它打印出0x0FFF。

2 个答案:

答案 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