Objective-C Decimal到Base 16 Hex转换

时间:2010-05-15 16:27:05

标签: iphone objective-c nsstring hex

有没有人有一个代码片段或一个需要很长时间并将其转换为16字节十六进制字符串的类?

我正在寻找像这样的数据

long long decimalRepresentation = 1719886131591410351;

并将其转换为此

//Base 16 Hex Output: 17DE435307A07300

%x运算符不想为我工作

NSLog(@"Hex: %x",decimalRepresentation);
//console : "Hex: 7a072af"

正如你所看到的那样,它甚至都不是很接近。真的很感激任何帮助!

1 个答案:

答案 0 :(得分:10)

%x以十六进制表示形式打印无符号整数,并sizeof(long long) != sizeof(unsigned)。参见例如64位过渡指南中的"Data Type Size and Alignment"

使用ll说明符(即两个小写的 L )来获得所需的输出:

NSLog(@"%llx", myLongLong);