📜  Java中的数学 scalb() 方法

📅  最后修改于: 2022-05-13 01:54:41.548000             🧑  作者: Mango

Java中的数学 scalb() 方法

  1. scalb( double a, int scale )是Java中 Math 类的内置方法,用于获取a x 2^ scale的值。当结果的指数在 Double.MIN_EXPONENT 和 Double.MAX_EXPONENT 之间时,结果计算准确。它产生了四个特殊的结果:
    • 当结果的指数大于 Double.MAX_EXPONENT 时,它返回无穷大。
    • 当第一个参数为 NaN 时,结果为 NaN。
    • 当第一个参数是无限时,结果是相同符号的无限。
    • 当第一个参数为零时,它返回相同符号的零。

    句法 :

    public static double scalb(double a, int scale)

    参数:此方法接受两个参数,它们是:

    • a :这是 double 类型,它是要按 2 的幂进行缩放的数字。
    • scale :这是整数类型,是 2 的幂,用于缩放a

    返回值:该方法返回 x 2 ^比例
    例子 :

    Input: 
    a = 77.23
    scale = 3
    
    Output = 617.84
    

    下面的程序说明了Java.lang.Math.scalb( double a, int scale ) 方法:

    // Java praogram to illustrate the
    // java.lang.Math.scalb(double a, int scale )
    import java.lang.*;
      
    public class Geeks {
      
        public static void main(String[] args)
        {
      
            double p = 52.12;
            int scale = 8;
      
            // It returns p x 2^scale
            System.out.print("Value of Math.scalb(" 
                         + p + ", " + scale + ") = ");
            System.out.println(Math.scalb(p, scale));
        }
    }
    
    输出:
    Value of Math.scalb(52.12, 8) = 13342.72
    
  2. Java.lang.Math.scalb( float a, int scale )一个返回 x 2^ scale的内置方法。当结果的指数在 Float.EXPONENT 和 Float.MAX_EXPONENT 之间时,结果计算准确。
    • 当结果的指数大于 Float.MAX_EXPONENT 时,它返回无穷大。
    • 当第一个参数为 NaN 时,结果为 NaN。
    • 当第一个参数是无限时,结果是相同符号的无限。
    • 当第一个参数为零时,它返回相同符号的零。

    句法 :

    public static double scalb(float a, int scale)

    参数:此方法接受两个参数:

    • a :这是浮点类型,它是要按 2 的幂缩放的数字。
    • scale :这是整数类型,指的是用于缩放a的 2 的幂

    返回值:该方法返回 x 2 ^比例
    例子 :

    Input: 
    a = 32.14f
    scale = 6
    
    Output = 2056.96
    

    下面的程序说明了Java.lang.Math.scalb( float a, int scale ) 方法:
    方案一:

    // Java praogram to illustrate the
    // java.lang.Math.scalb(float a, int scale )
    import java.lang.*;
      
    public class Geeks {
      
        public static void main(String[] args)
        {
      
            float p = 81.27f;
            int scale = 8;
      
            // Calculate p multiplied by 2 raised in scale
            System.out.print("Value of Math.scalb(" +
                                p + ", " + scale + ") = ");
            System.out.println(Math.scalb(p, scale));
        }
    }
    
    输出:
    Value of Math.scalb(81.27, 8) = 20805.12