gpt4 book ai didi

C++:简单的运算符优先级问题还是其他?

转载 作者:行者123 更新时间:2023-11-30 02:50:18 26 4
gpt4 key购买 nike

如果我有以下代码:

long lSecondsSum = 8039;
double dNumDays = lSecondsSum / (24 * 3600);

我希望得到 0.093044,但出于某种原因我得到了 dNumDays = 0.0000000000

但是,如果我这样写代码:

long lSecondsSum = 8039;
double dNumDays = lSecondsSum/24;
dNumDays = dNumDays/3600;

然后我得到正确的 dNumDays = 0.092777777777777778

如何避免所有这些浮点错误?

最佳答案

lSecondsSum 是 long8039/86400 将是 0

如果将 24 和 3600 转换为 double ,您将得到正确的结果:

double dNumDays = lSecondsSum / (24 * 3600.0);

或者只是:

double dNumDays = lSecondsSum / 24.0 / 3600.0;

关于C++:简单的运算符优先级问题还是其他?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20578239/

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