假设我们实现了以下两种方法来计算一个实数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
的产品的确切值更接近:double
由multiply(x, n)
返回或double
由iterativeAdd(x, n)
返回,您如何知道?