假设我们实现以下两种方法来计算实数 x 的第 n 倍。
假设
public static double multiply( double x, int n )
{
return x * n;
}
public static double iterativeAdd( double x, int n )
{
double a = 0.0;
for( int b = 0; b < n; b++ )
{
a += x;
}
return a;
}
假设
n
是一个合法的int
,并且x
和n
与x
精确的数学乘积的绝对值不小于Double.MIN_VALUE
(除非两者都是0.0
),且不大于Double.MAX_VALUE
的绝对值。这里我想知道:通常情况下,x
和n
的乘积的准确值更接近于multiply(x,n)
返回的double
还是iterativeAdd(x,n)
返回的double
,你如何知道?