gpt4 book ai didi

c++ - QString::toLongLong() 不能处理大的十六进制数

转载 作者:行者123 更新时间:2023-11-30 03:55:54 25 4
gpt4 key购买 nike

Qt 5.4.1,Linux 64 位。示例代码:

int main(int argc, char** argv)
{
QString a = "FFFFFFFFFFFFFFFF";
bool ok;
qDebug() << a.toLongLong(&ok, 16);
qDebug() << ok;
return 0;
}

它应该显示:

-1
true

但显示:

0
false

它适用于较小的数字。为什么这么奇怪?我做错了什么吗?

最佳答案

实际上,可以处理 long long 的最大值是 2^63 - 1,因为它是有符号的。你在这里得到的是 2^64 - 1。这就是它无法解析它的原因。

也许你应该尝试使用QString::toULongLong

关于c++ - QString::toLongLong() 不能处理大的十六进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28811366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com