我只需要将整数转换为十六进制。实际上我有一个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
..“格式的字符。
答案 0 :(得分:3)
十六进制值是一个整数值
十六进制只是一种显示整数的方法。
如果你想创建一个十六进制表示整数的字符串,你可以去:
char hexStr[20];
sprintf(hexStr,"0x%x",var);
如果需要,你也可以用零填充数字,方法是输入%0(所需的总位数)x
例如:
int var = 0x123;
sprintf(hexStr,"0x%08x",var);
将导致hexStr填充“0x00000123”