将数字打印为十六进制数字

时间:2013-11-28 01:58:06

标签: c printf hex

所以我有数字12如何以

格式打印出来
0x0000000C // where there is always the 0x in the beginning and always 8 digits after to 
           // represent the number

fprintf(outputFile, "%x", 12);

正在给我:

cc

但我想:

0x0000000C

4 个答案:

答案 0 :(得分:4)

%08x

会给你正确的位数。只需将0x放在前面作为装饰。

%08X会将字母打印为大写字母。

答案 1 :(得分:4)

需要前缀0x然后使用Capital X来获得Capital C,08表示前缀为0,最多可以包含8个字符

fprintf(outputFile, "0x%08X", 12);

答案 2 :(得分:1)

尝试这个

#include<stdio.h>
void main()
{
int x;
x=12;

printf("%#010x\n",x);
}

答案 3 :(得分:0)

fprintf(outputFile, "%#.8x", 12);

#标志指定备用表单,该表单以0x格式添加x.8指定精度为8,这是x格式显示的最小位数。