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