gpt4 book ai didi

c++ - 表达式计算不正确

转载 作者:行者123 更新时间:2023-12-02 09:59:22 25 4
gpt4 key购买 nike

我编写了这段代码,对所有内容进行了正确评估,直到这组特定数字为止:

#include <cmath>

int n1 = 187972 ;
int n2 = 12026 ;
double a = 0.002 ;
int partial = round((n1*n2)*a) ;
int result = n1 - partial ;
程序将结果返回为4256804,这是完全错误的。我想我弄错了,但我看不出怎么办。

最佳答案

如建议的注释中所示,结果是正确的,因为n1 * n2正在溢出int最大值,这会由于溢出而生成负数
实际上-2034416024在这里ideone,以便您可以验证
https://ideone.com/NIGCmx
一个解决方案可能是使用长数字代替

关于c++ - 表达式计算不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63471019/

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