%qx 格式说明符是什么意思

发布于 2024-12-18 08:01:30 字数 336 浏览 3 评论 0原文

在下面的 obj-c 函数中, %qx 格式说明符是什么意思(我想这个问题也适用于 printf 和 co。)

+(NSString*)stringForHash:(uint64_t)hash
{
    return [NSString stringWithFormat:@"%qx", hash];
}

我的猜测是,它意味着以十六进制打印 64 位,而不是 %x 只会打印 32 位。然而,我在任何地方都找不到很好的参考资料来证实这一点。 q 代表什么?它可以与格式说明符中的 x 以外的任何内容一起使用吗?

In the following obj-c function, what does the %qx format specifier mean (I would imaging the question also holds for use with printf and co.)

+(NSString*)stringForHash:(uint64_t)hash
{
    return [NSString stringWithFormat:@"%qx", hash];
}

My guess is that it means print the 64 bits in hex, as opposed to %x which would only print 32 bits. I cannot however find a good reference confirming this anywhere. What does q stand for? Can it be used in conjunction anything else than x in format specifiers?

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

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

发布评论

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

评论(3

浸婚纱 2024-12-25 08:01:30

q 是四边形,与 ll 相同。

PS:printf 联机帮助页显示“不要使用”;-)

q is quad, same like ll.

P.S.: printf manpage says "Don't use" ;-)

凶凌 2024-12-25 08:01:30

来自 Wikipedia

它是 C99 之前的扩展含义

“q - 对于整数类型,导致 printf 需要 64 位(四字)整数参数。常见于 BSD 平台”

From Wikipedia:

it is a pre-C99 extension meaning

"q - For integer types, causes printf to expect a 64-bit (quad word) integer argument. Commonly found in BSD platforms"

热风软妹 2024-12-25 08:01:30

您可以从此处

You can get the format speciers from here

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