我有一个从函数返回的整数:
int a = func();
例如,a = 236
。
我需要将其视为整数的十六进制表示,并将其十进制表示存储在另一个变量中,以便在打印时如此:
printf("%x", variable)
......输出应为:
236
答案 0 :(得分:4)
所有值仅以二进制格式存储。如果要使用%d
格式字符串打印十进制正式打印中的值,或者如果要以十六进制打印值,则使用%x
进行打印。
Sameway我们也可以分配十进制和十六进制格式的值。
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
格式字符串以八进制形式打印存储的二进制值。
答案 1 :(得分: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