printf精度

Kia*_*ian 3 c formatting printf

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

Ker*_* SB 13

printf("%04X", x);.

0手段"垫用零"时,4是指"至少四个字符宽".

对于整数,人们不使用术语"精度"(因为整数精确的),而是"字段宽度"或类似的东西.精度是打印浮动时科学记数法的位数.

  • 最好使用“%.4x”,即使用*精度*而不是*宽度*。宽度包括其他内容,例如符号空间、“0x”(如果使用“#”标志)等。 (2认同)

J T*_*ler 6

以十六进制打印时,可以使用printf的精度字段.

例如:

int i = 0xff;
printf ("i is 0x%.4X\n", i);
printf ("i is  %#.4X\n", i);
Run Code Online (Sandbox Code Playgroud)

两者都打印:0x00FF

  • +1更好(通常更正确)的方法 (2认同)