如何在C中显示hex数字?
我有一个数字列表如下:
0,16,32,48 …
我需要以hex输出这些数字:
0000,0010,0020,0030,0040 …
我曾尝试过的解决scheme如:
printf("%.4x",a); // where a is an integer
但是我得到的结果是:
0000,0001,0002,0003,0004 …
我想我就在那里。 任何人都可以帮忙,因为我不擅长printf
中的printf
谢谢。
尝试:
printf("%04x",a);
-
0
– 填充零(0)而不是填充空格的数字。 -
4
(宽度) – 要打印的最less字符数。 如果要打印的值小于此数字,则在此宽度内的结果右alignment,在填充字符的左侧填充。 默认情况下,这是一个空格,但是我们使用的前导零指定了一个零作为pad字符。 即使结果较大,值也不会被截断。 -
x
– hex整数的指定符。
更多在这里
我这样使用它:
printf("my number is 0x%02X\n",number); // output: my number is 0x4A
只要将数字“2”更改为您想要打印的任意数量的字符;)
你的代码没有问题。 它确实打印你想要的方式。 或者,你可以这样做:
printf("%04x",a);
您可以使用以下代码段代码:
#include<stdio.h> int main(int argc, char *argv[]){ unsigned int i; printf("decimal hexadecimal\n"); for (i = 0; i <= 256; i+=16) printf("%04d 0x%04X\n", i, i); return 0; }
它使用零填充在4个位置打印十进制和hex数字。