# Java scalb Function

The Java scalb Function is one of the Math Library functions, which is to return x * 2ScaleFactor. The scalb Function result is rounded as if performed by a single correctly rounded floating-point multiplied to a member of the double value set. In this article, we will show how to use Math.scalb function in Java Programming language with an example.

## Syntax

The basic syntax of the Math.scalb Function in Java Programming language is as shown below:

`Math.scalb(data_type number, int ScaleFactor);`
• number: Please specify the double value or specify any expression here.
• ScaleFactor: Please specify the Scale Factor value here.

For example, if number = 2 and ScaleFactor = 3 then, Math.scalb(3, 2) = 3 * 2² = 12. There are some special cases where the result will be different, and they are:

• If the first argument is infinite, it will return the result as Infinity of the same sign.
• If the first argument is positive or negative zero, it will return the result as Zero of the same sign.
• And if the first argument is not a Number, it will return the result as NaN.

Java Programming provides two different Math.scalb Java functions to return number * 2ScaleFactor. The following function will accept positive or negative double value as the first argument and returns the result

```static double scalb(double number, int ScaleFactor); //Return Type is double

// In order to use in program:
Math.scalb(double number, int ScaleFactor);```

The following function will accept positive or negative float value as the first argument and returns the result

```static float scalb(float number, int ScaleFactor);//Return Type is float

// In order to use in program:
Math.scalb(float number, int ScaleFactor);```

## Java scalb Function Example

The Math.scalb function returns number * 2ScaleFactor. In this Java example, We are going to find the same of different data types and display the output

```package MathFunctions;

public class ScalbMethod {
public static void main(String[] args) {
double a = 10.9666, b = 14.6674, c = -9.474, d = -14.9865;
float e = 1.23f, f = 4.809f, g = -7.89f, h = -6.54f;

System.out.println("\nMath.scalb Result for Zero as Second argument = " + Math.scalb(2, 0));
System.out.println("Math.scalb Result for Zero as First argument = " + Math.scalb(0, 2));

System.out.println("\nMath.scalb Result of Positive Value = " + Math.scalb(2, 3));
System.out.println("Math.scalb Result of Negative Value = " + Math.scalb(-3, 5));
System.out.println("Math.scalb Result of Negative Value = " + Math.scalb(3, -4));
System.out.println("Math.scalb Result of Negative Value = " + Math.scalb(-2, -2));

System.out.println("\nMath.scalb Result of Positive Doubles: " + Math.scalb(a, 4));
System.out.println("Math.scalb Result of Negative Double Values: " + Math.scalb(c, 3));
System.out.println("Math.scalb Result of both Positive & Negative Double Values: " + Math.scalb(b, -3));
System.out.println("Math.scalb Result of both Positive & Negative Double Values: " + Math.scalb(d, -6));

System.out.println("\nMath.scalb Result of Positive Float Values: " + Math.scalb(e, 5));
System.out.println("Math.scalb Result of Negative Float Values: " + Math.scalb(g, 7));
System.out.println("Math.scalb Result of both Positive & Negative Float Values: " + Math.scalb(f, -4));
System.out.println("Math.scalb Result of both Positive & Negative Float Values: " + Math.scalb(h, -2));
}
}```

First, we used the Math.scalb Function directly on both the Positive and negative values.

```System.out.println("\nMath.scalb Result of Positive Value = " + Math.scalb(2, 3));
System.out.println("Math.scalb Result of Negative Value = " + Math.scalb(-3, 5));
System.out.println("Math.scalb Result of Negative Value = " + Math.scalb(3, -4));
System.out.println("Math.scalb Result of Negative Value = " + Math.scalb(-2, -2));```

Next, we used the Java Math.scalb Function on variables a, b, c, and d (they belong to double type). The following statements will call the method of double type ( static double scalb(double number, int ScaleFactor) ) to display the result.

```System.out.println("\nMath.scalb Result of Positive Doubles: " + Math.scalb(a, 4));
System.out.println("Math.scalb Result of Negative Double Values: " + Math.scalb(c, 3));
System.out.println("Math.scalb Result of both Positive & Negative Double Values: " + Math.scalb(b, -3));
System.out.println("Math.scalb Result of both Positive & Negative Double Values: " + Math.scalb(d, -6));```

Here, We used the Math function on variable se, f, g, and h (they belong to float type). The following statements will call the method of float type ( static float scalb(float number, int ScaleFactor) ) to display the result.

```System.out.println("\nMath.scalb Result of Positive Float Values: " + Math.scalb(e, 5));
System.out.println("Math.scalb Result of Negative Float Values: " + Math.scalb(g, 7));
System.out.println("Math.scalb Result of both Positive & Negative Float Values: " + Math.scalb(f, -4));
System.out.println("Math.scalb Result of both Positive & Negative Float Values: " + Math.scalb(h, -2));```