Java - Math pow(double a, double b) 方法



描述

Java Math pow(double a, double b) 方法返回第一個引數(底數)的第二個引數(指數)次冪的值。特殊情況:-

  • 如果第二個引數是正零或負零,則結果為 1.0。
  • 如果第二個引數是 1.0,則結果與第一個引數相同。

  • 如果第二個引數是 NaN,則結果為 NaN。

  • 如果第一個引數是 NaN 且第二個引數非零,則結果為 NaN。

  • 如果

    • 第一個引數的絕對值大於 1 且第二個引數是正無窮大,或

    • 第一個引數的絕對值小於 1 且第二個引數是負無窮大,

  • 則結果為正無窮大。

  • 如果

    • 第一個引數的絕對值大於 1 且第二個引數是負無窮大,或

    • 第一個引數的絕對值小於 1 且第二個引數是正無窮大,

  • 則結果為正零。

  • 如果第一個引數的絕對值等於 1 且第二個引數是無窮大,則結果為 NaN。

  • 如果

    • 第一個引數是正零且第二個引數大於零,或

    • 第一個引數是正無窮大且第二個引數小於零,

  • 則結果為正零。

  • 如果

    • 第一個引數是正零且第二個引數小於零,或

    • 第一個引數是正無窮大且第二個引數大於零,

  • 則結果為正無窮大。

  • 如果

    • 第一個引數是負零且第二個引數大於零但不是有限的奇數整數,或

    • 第一個引數是負無窮大且第二個引數小於零但不是有限的奇數整數,

  • 則結果為正零。

  • 如果

    • 第一個引數是負零且第二個引數是正的有限奇數整數,或

    • 第一個引數是負無窮大且第二個引數是負的有限奇數整數,

  • 則結果為負零。

  • 如果

    • 第一個引數是負零且第二個引數小於零但不是有限的奇數整數,或

    • 第一個引數是負無窮大且第二個引數大於零但不是有限的奇數整數,

  • 則結果為正無窮大。

  • 如果

    • 第一個引數是負零且第二個引數是負的有限奇數整數,或

    • 第一個引數是負無窮大且第二個引數是正的有限奇數整數,

  • 則結果為負無窮大。

  • 如果第一個引數是有限的且小於零

    • 如果第二個引數是有限的偶數整數,則結果等於將第一個引數的絕對值提升到第二個引數次冪的結果

    • 如果第二個引數是有限的奇數整數,則結果等於將第一個引數的絕對值提升到第二個引數次冪的結果的負值

    • 如果第二個引數是有限的且不是整數,則結果為 NaN。

  • 如果兩個引數都是整數,則如果該結果實際上可以精確地表示為 double 值,則結果正好等於將第一個引數提升到第二個引數次冪的數學結果。

(在上述描述中,浮點值當且僅當它是有限的且是方法 ceil 的不動點,或者等效地,是方法 floor 的不動點時,才被認為是整數。如果將方法應用於該值的結果等於該值,則該值是單引數方法的不動點。)

計算結果必須在精確結果的 1 ULP 之內。結果必須是半單調的。

宣告

以下是 java.lang.Math.pow() 方法的宣告

public static double pow(double a, double b)

引數

  • a − 底數。

  • b − 指數。

返回值

此方法返回 ab 的值。

異常

示例:獲取正雙精度值的 Pow

以下示例顯示了 Math pow() 方法對正值的用法。

package com.tutorialspoint;
public class MathDemo {
   public static void main(String[] args) {

      // get two double numbers
      double x = 2.0;
      double y = 5.4;
   
      // print x raised by y and then y raised by x
      System.out.println("Math.pow(" + x + "," + y + ")=" + Math.pow(x, y));
      System.out.println("Math.pow(" + y + "," + x + ")=" + Math.pow(y, x));
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:-

Math.pow(2.0,5.4)=42.22425314473263
Math.pow(5.4,2.0)=29.160000000000004

示例:獲取負雙精度值的 Pow

以下示例顯示了 Math pow() 方法對負值的用法。

package com.tutorialspoint;
public class MathDemo {
   public static void main(String[] args) {

      // get two double numbers
      double x = -2.0;
      double y = -5.4;
   
      // print x raised by y and then y raised by x
      System.out.println("Math.pow(" + x + "," + y + ")=" + Math.pow(x, y));
      System.out.println("Math.pow(" + y + "," + x + ")=" + Math.pow(y, x));
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:-

Math.pow(-2.0,-5.4)=NaN
Math.pow(-5.4,-2.0)=0.034293552812071325

示例:獲取零和一雙精度值的 Pow

以下示例顯示了 Math pow() 方法對零和一值的用法。

package com.tutorialspoint;
public class MathDemo {
   public static void main(String[] args) {

      // get two double numbers
      double x = 0.0;
      double y = 1.0;
   
      // print x raised by y and then y raised by x
      System.out.println("Math.pow(" + x + "," + y + ")=" + Math.pow(x, y));
      System.out.println("Math.pow(" + y + "," + x + ")=" + Math.pow(y, x));
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:-

Math.pow(0.0,1.0)=0.0
Math.pow(1.0,0.0)=1.0
java_lang_math.htm
廣告