gpt4 book ai didi

c++ - qt 返回糟糕的数学

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:32:36 26 4
gpt4 key购买 nike

mlAnswer = ( ( ( degreesPLato->text().toInt() * 1000000 ) * 3800 )/answer );

是有问题的代码mlAnswer 输出 -8223,而我的计算器输出 228000

调试输出

12 * 1000000 * 3800/200000 = -8223

所有数据类型都是int请告诉我哪里做错了。

最佳答案

12 * 1000000 * 3800 = 456 亿。

这超出了 4 字节有符号整数的范围,int 通常是这样的。尝试使用 long long 代替。

整数文字的默认类型是 int,除非数字太大而不适合 int。只要您在整数之间进行数学运算,结果就会保持为整数。 12 是一个int1000000 是一个int3800 是一个整数。当您将它们相乘时,结果仍然是 int,即使它不再适合。添加 LL 后缀,使整数文字成为 long long。即 12LL1000000LL3800LL 等...

关于c++ - qt 返回糟糕的数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205739/

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