NSString十六进制和十进制输出?

时间:2011-07-26 22:38:22

标签: objective-c cocoa-touch

NSString * s = [NSString stringWithFormat:@“dec:%qi,hex:%qX”,1,1];

产量

dec:4294967297,hex:BFFFD438000 ......

???为什么???

感谢

如果我使用%d和%d,我得到1和1

2 个答案:

答案 0 :(得分:4)

q表示64位,因此您必须传递64位参数,例如1LL或1ULL。

答案 1 :(得分:2)

您只需使用NSString* s = [NSString stringWithFormat:@"dec:%i, hex:%x", 1, 1];

即可