Java scalb 函数

Java 的 scalb 函数是 Math 库函数之一,用于返回 x * 2ScaleFactor。scalb 函数的结果将经过舍入,如同通过一个正确舍入的浮点数乘以 double 值集合中的一个成员进行计算一样。在本文中,我们将通过一个示例展示如何在 Java 编程语言中使用 Math.scalb 函数。

Java scalb 函数语法

Java 编程语言中 Math.scalb 函数的基本语法如下所示:

Math.scalb(data_type number, int ScaleFactor);
  • number:请在此指定 double 值或任何表达式。
  • ScaleFactor:请在此指定 Scale Factor 值。

例如,如果 number = 2 且 ScaleFactor = 3,则 Math.scalb(3, 2) = 3 * 2² = 12。某些特殊情况下的结果会有所不同,它们是:

  • 如果第一个参数是无穷大,它将返回相同符号的无穷大。
  • 如果第一个参数是正零或负零,它将返回相同符号的零。
  • 如果第一个参数不是数字(NaN),它将返回 NaN。

Java 编程提供了两个不同的 Math.scalb Java 函数来返回 number * 2ScaleFactor。以下函数将接受正数或负数的 double 值作为第一个参数并返回结果。

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

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

以下函数将接受正数或负数的 float 值作为第一个参数并返回结果。

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 函数示例

Math.scalb 函数返回 number * 2ScaleFactor。在此 Java 示例中,我们将计算不同数据类型的相同值并显示输出。

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));
	}
}
Java scalb Function Example

首先,我们直接对正数和负数值使用了 Math.scalb 函数。

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

接下来,我们将 Java Math.scalb 函数用于变量 a、b、c 和 d(它们属于 double 类型)。以下语句将调用 double 类型的(static double scalb(double number, int ScaleFactor))方法来显示结果。

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

在此,我们将 Math 函数用于变量 se、f、g 和 h(它们属于 float 类型)。以下语句将调用 float 类型的(static float scalb(float number, int ScaleFactor))方法来显示结果。

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