如何打印32位值完成?

时间:2013-05-04 04:44:13

标签: c kernel hex

我想知道如何在C中打印完整的整数值为零。

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

如果a是32位整数,那么

int a = 14

然后输出就像这样

value of a = 0x0000000e

以十六进制表示。

提前致谢。

2 个答案:

答案 0 :(得分:13)

0格式化为:

printf("value of a = 0x%08x", a);

来自printf(3) man page

  

'0' (零)

     

零填充。对于除 n 之外的所有转化,转换后的值在左侧用零填充                         比空白。如果使用数字给出精度                         转化( d i o u < / strong>, i x X ),0标志为                         忽略。

没有什么比回答问题的文档更好了 - 至少如果文档是好的话。

答案 1 :(得分:1)

#include <stdio.h>

int main(int argc, char *argv[])
{
  int a = 14;

  printf("value of a = 0x%08x\n", a);

  return 0;
}