如何打印32位值完成?

goo*_*ies 0 c hex kernel

我想知道如何仅在C中打印整数值为0.

而我在内核空间,想在内核模块中打印一些值.

就像if a是32位整数那样

int a = 14

然后输出将是这样的

value of a = 0x0000000e

在十六进制中.

提前致谢.

Car*_*rum 14

放一个0格式:

printf("value of a = 0x%08x", a);
Run Code Online (Sandbox Code Playgroud)

printf(3)手册页:

'0' (零)

零填充.对于除了之外的所有转换n,转换后的值在左侧用零填充而不是空格.如果精度与数字转换(给定d,i,o,u,i,x,和X),0标志被忽略.

没有什么比回答问题的文档 - 至少如果文档是好的.