0
下面是一个示例代码:ApfloatMath.pow方法返回几乎正确的值
ApfloatMath.pow(new Apfloat(25, 5), new Apfloat(0.5, 5));
上面的代码执行25.
平方根这返回4.9999
。
我会认为这是任意的会返回正确的值。
下面是一个示例代码:ApfloatMath.pow方法返回几乎正确的值
ApfloatMath.pow(new Apfloat(25, 5), new Apfloat(0.5, 5));
上面的代码执行25.
平方根这返回4.9999
。
我会认为这是任意的会返回正确的值。
从Javadoc:
pow
专断的权力。使用
log()
和exp()
计算。
换句话说,这可以做类似exp(log(x) * y)
。但是,log(25)
是不合理的,因此具有无限数量的数字。因此它必须在某个时刻近似。
所以没有办法解决这个问题? –
@DanJoe:我对这个特定的图书馆并不熟悉,所以不能肯定地说。但这只是您不应该依赖浮点计算给出“精确”结果的一个例子。即使对于任意精度类型 - 只要需要无限扩展,结果就需要在某处被截断。 –