Objective-C DEC 转 HEX

Objective-C DEC to HEX

您好必须将 int 值转换为 HEX 字符串。

40x04

-40xFC

我使用此代码 [NSString stringWithFormat:@"0x%02X", x],其中 xint

使用 4 我获得 0x04,但是使用 -4 我获得 0xFFFFFFFC

我哪里错了?

-4 类型 int 在 32 位系统上确实是 0xFFFFFFFC%02 将用零填充个位数,但不会将较长的数字截断为两位数。

如果您只想打印最后八位,您需要自己屏蔽数字:

[NSString stringWithFormat:@"0x%02X", (x & 0xFF)];