Objective-C 十进制到 16 进制十六进制转换

发布于 2024-09-01 12:06:28 字数 384 浏览 5 评论 0原文

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

我正在寻找像这样的数据

long long decimalRepresentation = 1719886131591410351;

并将其转换成这样

//Base 16 Hex Output: 17DE435307A07300

%x 运算符不想为我工作

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

正如你所看到的,这甚至不是很接近。非常感谢任何帮助!

Does anyone have a code snippet or a class that will take a long long and turn it into a 16 byte Hex string?

I'm looking to turn data like this

long long decimalRepresentation = 1719886131591410351;

and turn it into this

//Base 16 Hex Output: 17DE435307A07300

The %x operator doesn't want to work for me

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

As you can see that's not even close. Any help is truly appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眸中客 2024-09-08 12:06:28

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

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

NSLog(@"%llx", myLongLong); 

%x prints an unsigned integer in hexadecimal representation and sizeof(long long) != sizeof(unsigned). See e.g. "Data Type Size and Alignment" in the 64bit transitioning guide.

Use the ll specifier (thats two lower-case L) to get the desired output:

NSLog(@"%llx", myLongLong); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文