C 打印精度
我正在用C编写一个程序,我有几个用于调试的printf语句。有没有办法改变printf上十六进制输出的精度?例子。我有0xFFF,但我希望它打印出0x0FFF。说C 打印精度,c,formatting,printf,C,Formatting,Printf,我正在用C编写一个程序,我有几个用于调试的printf语句。有没有办法改变printf上十六进制输出的精度?例子。我有0xFFF,但我希望它打印出0x0FFF。说printf(“%04X”,x) 0表示“用零填充”,4表示“至少四个字符宽” 对于整数,不使用术语“精度”(因为整数是精确的),而是使用“字段宽度”之类的术语。精度是打印浮动时科学记数法中的位数。以十六进制打印时,可以使用printf的精度字段 例如: int i = 0xff; printf ("i is 0x%.4X\n", i)
printf(“%04X”,x)代码>
0
表示“用零填充”,4
表示“至少四个字符宽”
对于整数,不使用术语“精度”(因为整数是精确的),而是使用“字段宽度”之类的术语。精度是打印浮动时科学记数法中的位数。以十六进制打印时,可以使用printf的精度字段
例如:
int i = 0xff;
printf ("i is 0x%.4X\n", i);
printf ("i is %#.4X\n", i);
将同时打印:
0x00FF这种方法的结果与Kerrek完全相同,尽管使用的printf标志与常用的%04x稍有不同(50%),但实际上,您可以为整数转换说明符指定精度:printf(“%.4X”,x”);
这样做,并按预期工作(对于d
、i
、o
、u
、x
和x
转换,精度指定要显示的最小位数)。是的,但“精度”一词并不真正适用——您总是可以看到精确的整数。“精度”一词实际上,C中使用的是,即使对于整数,%.4X
的.4
部分称为精度。最好使用%.4X
,即使用精度而不是宽度。宽度包括符号的其他内容,如空格、0x
(如果使用了
标志)@PSkocik:我想给你一个+1,但那是不可能的。你的评论很有启发性!