我有一个从函数返回的整数:
int a = func();
例如,a = 236
。
我需要将其视为整数的十六进制表示,并将其十进制表示存储在另一个变量中,以便在打印时像这样:
printf("%x", variable)
...输出应该是:
236
所有值将仅以二进制格式存储。如果要使用格式字符串以十进制形式打印值,%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
格式字符串以八进制形式打印存储的二进制值。
如果我明白你需要什么,这个小代码片段就可以了
#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