0

我有一个从函数返回的整数:

   int a = func();

例如,a = 236

我需要将其视为整数的十六进制表示,并将其十进制表示存储在另一个变量中,以便在打印时像这样:

  printf("%x", variable)

...输出应该是:

 236
4

2 回答 2

4

所有值将仅以二进制格式存储。如果要使用格式字符串以十进制形式打印值,%d或者如果要以十六进制打印值,则使用%x.

同样,我们也可以分配十进制和十六进制格式的值。

int a = 236;
int b = 0x236;
printf("%d", a); //it will print 236
printf("%x", a); //it will print EC
printf("%d", b); //it will print 566
printf("%x", b); //it will print 236

我们也可以使用%o格式字符串以八进制形式打印存储的二进制值。

于 2013-01-15T11:19:38.563 回答
3

如果我明白你需要什么,这个小代码片段就可以了

#include <stdio.h>

int main()
{
    char num[128];
    int a=236;
    int hex;

    sprintf(num, "0x%d", a);

    sscanf(num, "%x", &hex);

    printf("Hex: %x\n", hex);
}

输出是

Hex: 236
于 2013-01-15T11:25:51.670 回答