Java - Math scalb(float a, int b) 方法



描述

Java Math scalb(float f,int scaleFactor) 方法返回 f x 2scaleFactor,其舍入方式与通过单个正确舍入的浮点乘法运算到双精度值集的成员执行的舍入方式相同。有关浮点值集的讨论,请参阅 Java 语言规范。如果结果的指数在 Float.MIN_EXPONENT 和 Float.MAX_EXPONENT 之间,则答案将精确计算。如果结果的指数大于 Float.MAX_EXPONENT,则返回无穷大。请注意,如果结果是次正规数,则可能会丢失精度;也就是说,当 scalb(x, n) 是次正规数时,scalb(scalb(x, n), -n) 可能不等于 x。当结果是非 NaN 时,结果与 f 的符号相同。

  • 如果第一个参数是 NaN,则返回 NaN。

  • 如果第一个参数是无穷大,则返回相同符号的无穷大。

  • 如果第一个参数是零,则返回相同符号的零。

声明

以下是 java.lang.Math.scalb() 方法的声明

public static float scalb(float f, int scaleFactor)

参数

  • f − 要按 2 的幂缩放的数字。

  • scaleFactor − 用于缩放 d 的 2 的幂

返回值

此方法返回 f x 2scaleFactor

异常

示例:获取正浮点值的 scalb

以下示例演示了对正值使用 Math scalb() 方法。

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

      // get a float number
      float x = 2.0f;
      int y = 5;
   
      // print x raised by y and then y raised by x
      System.out.println("Math.scalb(" + x + "," + y + ")=" + Math.scalb(x, y));
   }
}

输出

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

Math.scalb(2.0,5)=64.0

示例:获取负浮点值的 scalb

以下示例演示了对负值使用 Math scalb() 方法。

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

      // get a float number
      float x = -2.0f;
      int y = 5;
   
      // print x raised by y and then y raised by x
      System.out.println("Math.scalb(" + x + "," + y + ")=" + Math.scalb(x, y));
   }
}

输出

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

Math.scalb(-2.0,5)=-64.0

示例:获取负浮点值的 scalb

以下示例演示了对负比例因子使用 Math scalb() 方法。

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

      // get a float number
      float x = 2.0f;
      int y = -5;
   
      // print x raised by y and then y raised by x
      System.out.println("Math.scalb(" + x + "," + y + ")=" + Math.scalb(x, y));
   }
}

输出

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

Math.scalb(2.0,-5)=0.0625
java_lang_math.htm
广告