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

用户名

如果我有以下代码:

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 and 3600为double,您将获得正确的结果:

double dNumDays = lSecondsSum / (24 * 3600.0);

要不就:

double dNumDays = lSecondsSum / 24.0 / 3600.0;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++与C#运算符优先级

来自分类Dev

有关C ++中运算符优先级的问题

来自分类Dev

C ++运算符优先级和return语句

来自分类Dev

C ++ std :: cout和<<运算符,优先级

来自分类Dev

C中的移位运算符优先级

来自分类Dev

c中运算符的优先级

来自分类Dev

C中运算符优先级的奇怪结果

来自分类Dev

C ++中的运算符优先级

来自分类Dev

C ++逗号运算符的优先级

来自分类Dev

C中的短路和运算符优先级

来自分类Dev

C ++:Stroustrup示例中的运算符优先级

来自分类Dev

C运算符中的优先级==和(=)

来自分类Dev

c中运算符的优先级

来自分类Dev

C ++流和运算符>>优先级

来自分类Dev

输出流中的C ++运算符优先级

来自分类Dev

C解释中的运算符优先级

来自分类Dev

C 中的优先级运算符

来自分类Dev

C中的运算符优先级?

来自分类Dev

C++ 后缀运算符优先级与布尔 AND

来自分类Dev

C中'or'和'and'运算符的优先级

来自分类Dev

比较运算符重载与转换运算符的C ++优先级

来自分类Dev

C / C ++编译器对运算符优先级/评估的严格程度如何?

来自分类Dev

转换函数以确定运算符优先级从C#到C ++

来自分类Dev

C中的指针操作和运算符优先级

来自分类Dev

谁定义C运算符的优先级和关联性?

来自分类Dev

C#预处理程序指令中运算符的优先级是什么?

来自分类Dev

在C中进行类型转换时的运算符优先级

来自分类Dev

C与Python-条件语句中的运算符优先级

来自分类Dev

C#中的运算符优先级和关联性