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



描述

Java StrictMath 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.StrictMath.pow() 方法的声明

public static double pow(double a, double b)

参数

  • a - 底数。

  • b - 指数。

返回值

此方法返回 ab 的值。

异常

示例:获取正双精度值的 Pow

以下示例显示了 StrictMath pow() 方法对正值的用法。

package com.tutorialspoint;
public class StrictMathDemo {
   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("StrictMath.pow(" + x + "," + y + ")=" + StrictMath.pow(x, y));
      System.out.println("StrictMath.pow(" + y + "," + x + ")=" + StrictMath.pow(y, x));
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果 -

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

示例:获取负双精度值的 Pow

以下示例显示了 StrictMath pow() 方法对负值的用法。

package com.tutorialspoint;
public class StrictMathDemo {
   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("StrictMath.pow(" + x + "," + y + ")=" + StrictMath.pow(x, y));
      System.out.println("StrictMath.pow(" + y + "," + x + ")=" + StrictMath.pow(y, x));
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果 -

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

示例:获取零和一双精度值的 Pow

以下示例显示了 StrictMath pow() 方法对零和一值的用法。

package com.tutorialspoint;
public class StrictMathDemo {
   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("StrictMath.pow(" + x + "," + y + ")=" + StrictMath.pow(x, y));
      System.out.println("StrictMath.pow(" + y + "," + x + ")=" + StrictMath.pow(y, x));
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果 -

StrictMath.pow(0.0,1.0)=0.0
StrictMath.pow(1.0,0.0)=1.0
java_lang_strictmath.htm
广告