我只需要将整数转换为十六进制。实际上我有一个 char 数组,我在其中存储十六进制值。
int var;
var=[self getValue];
char hexValues[5];
hexValues[0]= 0x02;
hexValues[1]= 0x04;
hexValues[2]= [self getHexFromInt:var];
现在我认为 getHexFromInt()
返回一个 hex int
值,该值等同于传递的十进制 “var”
。它不会包含 0x
.. 格式,这就是为什么我认为 char 数组会接受它作为普通 char。所以请建议我如何从 getHexFromInt()
方法返回 "0x
.."格式的字符。
最佳答案
十六进制值是一个整数值
十六进制只是一种显示整数的方式。
如果你想创建一个字符串,它是一个整数的十六进制表示,你可以去:
char hexStr[20];
sprintf(hexStr,"0x%x",var);
如果你愿意,你也可以用零填充数字,方法是 %0(total number of digits desired)x
例如:
int var = 0x123;
sprintf(hexStr,"0x%08x",var);
将导致 hexStr 被填充为“0x00000123”
关于objective-c - 将整数转换为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16706846/