负十进制的幂增加到十进制

时间:2013-06-04 12:37:20

标签: java math

java.lang.Math.pow(double a, double b)州的Javadoc:

  • 如果第一个参数是有限且小于零:
    • 如果第二个参数是有限的而不是整数,则结果为NaN。

这意味着对Math.pow(-Math.E,-1.1d)的调用会产生NaN。

为什么Math.pow()不返回逆1/e^1.1?我的推理是否有错误?

谢谢!

2 个答案:

答案 0 :(得分:10)

是的,您的逻辑存在问题。请去阅读复杂的数字。

问题在于,负基数上升到非整数负幂会导致复数,而不是真正的双数。有Math.pow无法处理的想象部分。

答案 1 :(得分:1)

是的,为什么它应该返回1/e^1.1?这将是1/(-e)^1.1,这不是实数。