45 c format printf hex integer
我有一个数字列表如下:
0,16,32,48 ......
我需要以十六进制输出这些数字:
0000,0010,0020,0030,0040 ...
我尝试过如下解决方案:
printf("%.4x",a); // where a is an integer
Run Code Online (Sandbox Code Playgroud)
但我得到的结果是:
0000,0001 0002,0003,0004 ...
我想我就在附近.任何人都可以帮忙,因为我printf
在C中不太擅长.
谢谢.
cod*_*ict 109
尝试:
printf("%04x",a);
Run Code Online (Sandbox Code Playgroud)
0
- 左边用零填充数字(0)而不是空格,其中指定了填充.4
(宽度) - 要打印的最小字符数.如果要打印的值小于此数字,则结果在此宽度内右对齐,方法是在左侧用填充字符填充.默认情况下,这是一个空格,但我们使用的前导零指定零作为填充字符.即使结果较大,也不会截断该值.x
- 十六进制整数的说明符.更多这里
我这样使用它:
printf("my number is 0x%02X\n",number);
// output: my number is 0x4A
Run Code Online (Sandbox Code Playgroud)
只需将数字"2"更改为任意数量的字符您想要打印;)