Objective c 将整数转换为十六进制

Objective c 将整数转换为十六进制,objective-c,c,Objective C,C,我只需要将整数转换成十六进制。实际上,我有一个char数组,其中存储十六进制值 int var; var=[self getValue]; char hexValues[5]; hexValues[0]= 0x02; hexValues[1]= 0x04; hexValues[2]= [self getHexFromInt:var]; 现在我想的是getHexFromInt()返回一个与传递的十进制“var”相等的hex int值。它将不包含0x。。这就是为什么我认为字符数组会接受它作为普通字

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

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

现在我想的是
getHexFromInt()
返回一个与传递的十进制
“var”
相等的
hex int
值。它将不包含
0x
。。这就是为什么我认为字符数组会接受它作为普通字符。因此,请建议我如何从
getHexFromInt()
方法返回
“0x
”格式中的字符。

十六进制值是一个整数值

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

如果要创建整数的十六进制表示形式的字符串,可以执行以下操作:

char hexStr[20];
sprintf(hexStr,"0x%x",var);
如果需要,您也可以通过执行%0(所需的总位数)x,将数字填充为零

例如:


将导致用“0x00000123”填充hexStr

十进制和十六进制只是相同值的表示形式。
int var = 0x123;
sprintf(hexStr,"0x%08x",var);