位置:首页 > Java技术 > java.lang > java.lang.Math.scalb(double d,int scaleFactor)方法实例

java.lang.Math.scalb(double d,int scaleFactor)方法实例

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

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

  • 如果第一个参数是无限的,那么同样的符号无穷大返回。

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

声明

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

public static double scalb(double d, int scaleFactor)

参数

  • d -- 数由的幂缩放。

  • scaleFactor -- 2的指数为刻度 d

返回值

此方法返回 d x 2scaleFactor

异常

  • NA

例子

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

package com.yiibai;

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