您必须将int值转换为HEX字符串。
从4
到0x04
从-4
到0xFC
我使用此代码[NSString stringWithFormat:@"0x%02X", x]
x
为int
。
使用4
我获得0x04
,但-4
获得0xFFFFFFFC
。
我哪里错了?
答案 0 :(得分:3)
-4
的 int
在32位系统上确实是0xFFFFFFFC
。 %02
将填充零位数字,但不会将较长的数字截断为两位数。
如果您只想打印最后八位,则需要自己屏蔽数字:
[NSString stringWithFormat:@"0x%02X", (x & 0xFF)];