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

fas*_*seg 1 java math

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

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

这意味着要求Math.pow(-Math.E,-1.1d)产生NaN.

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

谢谢!

duf*_*ymo 10

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

问题是,负基数上升到非整数负功率会导致复数,而不是真正的双数.有一个虚构的部分Math.pow无法处理.