【发布时间】:2011-02-09 05:52:19
【问题描述】:
如果我定义这些变量:
double x0, xn, h;
int n;
我有这个数学表达式:
h = (xn - x0)/n;
是否有必要在进行除法之前将 n 转换为 double 以获得最大精度,如
h = (xn - x0)/ (double) n;
我编写了一个程序来检查上述内容,但两个表达式给出了相同的答案。我知道 C 会将整数提升为 double 类型,因为变量 xn 和 x0 是 double 类型,但奇怪的是在一本书中,强调了第二个带有强制转换的表达式。
我的问题是我的想法是否正确。
非常感谢...
【问题讨论】:
-
问题是“第二个表达式中的演员阵容有什么好处吗?”
-
我的问题是我的想法是否正确。很抱歉没有提到这一点。感谢大家提供帮助的 cmets,这有助于澄清我的一个难点。
-
如果我理解的很好,操作数总是被提升到最高类型。