Java.lang.Math.scalb() 方法

描述

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

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

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

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


声明

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

public static double scalb(double d, int scaleFactor)

参数

  • d − 要按 2 的幂进行缩放的数字。

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


返回值

此方法返回 d x 2scaleFactor


异常

NA


示例

下面的例子展示了 lang.Math.scalb() 方法的使用。

package com.tutorialspoint;

import java.lang.*;

public class MathDemo {

   public static void main(String[] args) {

      // get a x to be raised
      double x = 50.14;
      int y = 4;

      // calculate x multiplied by 2 raised in y
      System.out.println("Math.scalb(" + x + "," + y + ")=" + Math.scalb(x, y));
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

Math.scalb(50.14, 4)=802.24