无法计算JAVA中的负基值

i_o*_*i_o -2 java math android computation

在我的Android应用程序中,我试图评估表达式:( - 2 ^(x))但似乎无法从JAVA库中获取Math.pow()方法.我能够评估(2 ^(x))但不能评估负基数.这是一个Logs.y值全部以NaN形式返回. 在此输入图像描述

评估我使用以下语句:

double result = Math.pow(x,exponent);
result = coefficient * result;
Run Code Online (Sandbox Code Playgroud)

我不知道这似乎是什么问题.也许是负面基础的建立方式.

感谢任何建议返回乘数*Math.pow(基数,结果);

ajb*_*ajb 5

假设您正在尝试计算(-2)幂x,其中xx图像中显示的值之一:除非x是整数,否则这不起作用.原因是答案不是真实的数字.(例如,什么是(-1)^ 0.5?这是-1的平方根,这是i一个虚数,而不是实数.)x图中显示的值都是非整数(似乎是一些非常接近整数但仍然不存在 - 在最后一个小数位有一个非零值.因此,结果都是如此NaN.

这在javadoc中是明确的Math.pow:

如果第一个参数是有限且小于零:

如果第二个参数是有限偶数,则结果等于将第一个参数的绝对值提高到第二个参数的幂的结果

如果第二个参数是有限的奇数,则结果等于将第一个参数的绝对值提高到第二个参数的幂的结果的负数

如果第二个参数是有限的而不是整数,则结果为NaN.

如果你正在做的事情不是(-2)^ x,那么你的问题很混乱,需要澄清.