将整数转换为hex

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

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数组会接受它作为普通的char。 所以请建议我如何从getHexFromInt()方法返回"0x ..”格式的字符。

hex值是一个整数值

hex只是一种显示整数的方式。

如果要创建一个整数的hex表示forms的字符串,您可以:

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

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

例如:

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

将导致hexStr填充“0x00000123”