Java Math类scalb()方法及示例
数学课scalb()方法
scalb()方法在java.lang包中可用。
scalb()方法用于将提高的a*2返回到在方法中传递的作为参数舍入的小数位幂。在此,a是第一个参数,scale是第二个参数。
scalb()方法是静态方法,也可以使用类名进行访问。
scalb()方法不会引发任何异常。
语法:
public static float scalb(float a , int sf)
public static double scalb(double a , int sf);参数:
a–表示要乘以2的幂的数字。
sf(缩放因子)–表示用于缩放a的2的幂。
返回值:
此方法的返回类型为float/double,将返回的a*2提升为sf的幂。
注意:
如果我们传递“NaN”,它将返回相同的值(即“NaN”)。
如果我们传递“Double.MIN_EXPONENT”/“Float.MIN_EXPONENT”或“Double.MAX_EXPONENT”/“Float.MAX_EXPONENT”,则返回相同的值。
如果我们传递“Double.MAX_EXPONENT”/“Float.MAX_EXPONENT”,它将返回无穷大。
如果我们将无穷大作为第一个参数传递,它将返回具有相同符号的相同值。
如果我们将零作为第一个参数传递,它将返回具有相同符号的相同值。
Java程序演示scalb()方法示例
//Java程序演示的例子
//数学类的scalb(doubledo,intsf)方法
public class ScalbMethod {
public static void main(String[] args) {
//声明变量
double d1 = -0.0;
double d2 = -7.0 / 0.0;
double d3 = 20.0;
int i = 6;
//在这里,我们得到(-0.0),因为我们通过
//值为(-0.0,6)
System.out.println("Math.scalb(d1,i): " + Math.scalb(d1, i));
//在这里,我们将得到(-Infinity)并且我们正在传递
//值为(-Infinity,6)
System.out.println("Math.scalb(d2,i): " + Math.scalb(d2, i));
//在这里,我们将得到(20.0*2升为6.0的幂)
//因为正在传递的值为(20.0,6)
System.out.println("Math.scalb(d3,i): " + Math.scalb(d2, i));
}
}输出结果
E:\Programs>javac ScalbMethod.java E:\Programs>java ScalbMethod Math.scalb(d1,i): -0.0 Math.scalb(d2,i): -Infinity Math.scalb(d3,i): -Infinity
范例2:
//Java程序演示的例子
//数学类的scalb(floatfi,intsf)方法
public class ScalbMethod {
public static void main(String[] args) {
//声明变量
float f1 = -0.0f;
float f2 = -7.0f / 0.0f;
float f3 = 20.0f;
int i = 6;
//在这里,我们得到(-0.0),因为我们通过
//值为(-0.0,6)
System.out.println("Math.scalb(f1,i): " + Math.scalb(f1, i));
//在这里,我们将得到(-Infinity)并且我们正在传递
//值为(-Infinity,6)
System.out.println("Math.scalb(f2,i): " + Math.scalb(f2, i));
//在这里,我们将得到(20.0*2升为6.0的幂)
//因为正在传递的值为(20.0,6)
System.out.println("Math.scalb(f3,i): " + Math.scalb(f2, i));
}
}输出结果
E:\Programs>javac ScalbMethod.java E:\Programs>java ScalbMethod Math.scalb(d1,i): -0.0 Math.scalb(d2,i): -Infinity Math.scalb(d3,i): -Infinity