对于大n,java.lang.Math.pow(x,n)的准确性/精确度如何?
我想计算
(1.0-p)^n
其中p是0和1之间的双倍(通常非常接近0),n是一个正整数,可能是数百或数千(可能更大;我还不确定)。如果可能的话,我很乐意只使用Java内置的java.lang.Math.pow(1.0-p, n)
,但我有点担心在我感兴趣的值范围内可能存在巨大的精度/精度损失。是否有人有粗略地了解使用Java实现我可能会遇到什么样的错误?我不确定他们的实现(日志和/或泰勒近似?)内部发生了什么,所以我不能冒险猜测。
我最担心的是相对误差(即没有超过一个数量级)。如果答案结果是Java的实现会产生太多错误,那么你是否有任何好的库建议(但同样,我希望不需要这样做)?谢谢。
没有找到相关结果
已邀请:
3 个回复
冲汉
。
瓜唱鬼
埃庐
两者都应该收敛到1 / e(0.36787944 ....)所以很明显浮动是不可能的,但双倍可能有足够的精度。