[英]Cube root of a negative number
我試圖找到一個負數的立方根,但我得到一個NaN。 有幫助嗎?
System.out.println(Math.pow(-8, 1.0 / 3.0));
Math.pow
的Java文檔說明:
如果第一個參數是有限的並且小於零[...] [和]如果第二個參數是有限的而不是整數,則結果是NaN。
您可以使用Math.cbrt
獲取多維數據集根目錄:
double result = Math.cbrt(-8.0);
請記住,在數學上,有3個立方根。 假設你想要真正的根,你應該這樣做:
x = 8; // Your value
if (x > 0)
System.out.println(Math.pow(x, 1.0 / 3.0));
else
System.out.println(-Math.pow(-x, 1.0 / 3.0));
編輯:正如其他答案所提到的,有Math.cbrt(x)
。 (我不知道存在)
pow
返回具有負基和非積分功率的NaN
的原因在於,通常通過復平面中的角度大小來完成供電。
NaN
。 http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Math.html#cbrt(double )
System.out.println(Math.cbrt(-8));
來自http://docs.oracle.com/javase/6/docs/api/java/lang/Math.html :
如果第一個參數是有限的且小於零
- 如果第二個參數是有限偶數,則結果等於將第一個參數的絕對值提高到第二個參數的冪的結果
- 如果第二個參數是有限的奇數,則結果等於將第一個參數的絕對值提高到第二個參數的冪的結果的負數
- 如果第二個參數是有限的而不是整數,則結果為NaN。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.