Objective-C Decimal到Base 16 Hex转换

Jus*_*tin 5 iphone hex objective-c nsstring

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

我想要像这样转换数据

long long decimalRepresentation = 1719886131591410351;
Run Code Online (Sandbox Code Playgroud)

把它变成这个

//Base 16 Hex Output: 17DE435307A07300
Run Code Online (Sandbox Code Playgroud)

%x运算符不想为我工作

NSLog(@"Hex: %x",decimalRepresentation);
//console : "Hex: 7a072af"
Run Code Online (Sandbox Code Playgroud)

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

Geo*_*che 10

%x以十六进制表示形式打印无符号整数sizeof(long long) != sizeof(unsigned).请参阅64位转换指南中的"数据类型大小和对齐".

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

NSLog(@"%llx", myLongLong); 
Run Code Online (Sandbox Code Playgroud)