Math scalb() Method in Java

  1. The scalb(double a, int scale ) is an inbuilt method of Math class in Java which is used to get the value a x 2^scale . The result is accurately calculated when the exponent of the result is between Double.MIN_EXPONENT and Double.MAX_EXPONENT. It gives rise to four special results:

    • It returns an infinity when the exponent of the result is larger than Double.MAX_EXPONENT.
    • The result is NaN when the first argument is NaN.
    • The result is an infinity of the same sign when the first argument is infinite.
    • It returns a Zero of the same sign when the first argument is zero.

    Syntax :

    public static double scalb(double a, int scale)

    Parameters : This method accepts two parameters they are:



    • a: This is of the double type which is the number to be scaled by a power of two.
    • scale: This is of integer type which is the power of 2 ,used to scale a

    Return Value : The method returns a x 2^scale
    Examples :

    Input: 
    a = 77.23
    scale = 3
    
    Output = 617.84
    

    Below program illustrates the java.lang.Math.scalb(double a, int scale) method:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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));
        }
    }

    chevron_right

    
    

    Output:

    Value of Math.scalb(52.12, 8) = 13342.72
    
  2. The java.lang.Math.scalb(float a, int scale ) is an inbuilt method which returns a x 2^scale . The result is accurately calculated when the exponent of the result is between Float.EXPONENT and Float.MAX_EXPONENT.

    • It returns an infinity when the exponent of the result is larger than Float.MAX_EXPONENT.
    • The result is NaN when the first argument is NaN.
    • The result is an infinity of the same sign when the first argument is infinite.
    • It returns a Zero of the same sign when the first argument is zero.

    Syntax :

    public static double scalb(float a, int scale)

    Parameters : This method accepts two parameters:

    • a: This is of float type which is the number to be scaled by a power of two.
    • scale: This is of integer type which refers to the power of 2 used in scaling of a

    Return Value : The method returns a x 2^scale
    Examples :

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

    Below program illustrates the java.lang.Math.scalb(float a, int scale ) method:
    Program 1:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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));
        }
    }

    chevron_right

    
    

    Output:

    Value of Math.scalb(81.27, 8) = 20805.12
    


My Personal Notes arrow_drop_up

lets make it a lil simple

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.