将整数转换为十六进制

时间:2013-05-23 06:19:35

标签: objective-c c

我只需要将整数转换为十六进制。实际上我有一个char数组,我在其中存储十六进制值。

int var;
var=[self getValue];
char hexValues[5];
hexValues[0]= 0x02;
hexValues[1]= 0x04;
hexValues[2]= [self getHexFromInt:var];

现在我认为getHexFromInt()会返回等于传递的小数hex int的{​​{1}}值。它不会包含"var" ..格式,这就是为什么我认为char数组会接受它为普通char。所以请建议我如何从0x方法返回"0x ..“格式的字符。

1 个答案:

答案 0 :(得分:3)

十六进制值是一个整数值

十六进制只是一种显示整数的方法。

如果你想创建一个十六进制表示整数的字符串,你可以去:

char hexStr[20];
sprintf(hexStr,"0x%x",var);

如果需要,你也可以用零填充数字,方法是输入%0(所需的总位数)x

例如:

int var = 0x123;
sprintf(hexStr,"0x%08x",var);

将导致hexStr填充“0x00000123”