Iphone Objective-C十进制到基数16十六进制的转换

Iphone Objective-C十进制到基数16十六进制的转换,iphone,objective-c,nsstring,hex,Iphone,Objective C,Nsstring,Hex,有没有人有一个代码片段或类,需要很长时间才能将其转换为16字节的十六进制字符串 我希望像这样转换数据 long long decimalRepresentation = 1719886131591410351; 把它变成这个 //Base 16 Hex Output: 17DE435307A07300 %x操作员不想为我工作 NSLog(@"Hex: %x",decimalRepresentation); //console : "Hex: 7a072af" 正如你所看到的,这一点都不接近

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

我希望像这样转换数据

long long decimalRepresentation = 1719886131591410351;
把它变成这个

//Base 16 Hex Output: 17DE435307A07300
%x操作员不想为我工作

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

正如你所看到的,这一点都不接近。非常感谢您的帮助

%x
以十六进制表示打印一个无符号整数,
sizeof(long-long)!=sizeof(未签名)
。参见例如64位转换指南中的

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

NSLog(@"%llx", myLongLong); 

谢谢,太快了!我还没有在iPhone上尝试过这个,你知道它在iPhone处理器上是否有效吗?
printf()
格式指定得很好,所以我不希望有任何意外。你应该在回答中澄清%llx实际上是两个小写的Ls,而不是两个数字1。我必须复制并粘贴你的答案才能意识到这一点。@Justin:哦,好吧-我想对我来说,“
long
->小写L”现在已经硬连线了。