ulp java_Java Math类ulp()方法及示例

数学课ulp()方法ulp()方法在java.lang包中可用。

ulp()方法用于返回给定参数的ulp的大小,其中,给定值的ulp是浮点值与下一个幅度较大的值之间的正距离。

ulp()方法是静态方法,也可以使用类名进行访问。

ulp()方法不会引发任何异常。

语法:public static float ulp(float value);

public static double ulp(double value);

参数:value –表示要返回其ulp的浮点/双浮点值。

返回值:

此方法的返回类型为float / double-返回ulp的大小。

注意:如果我们传递“ NaN”,它将返回相同的值(即“ NaN”)。

如果我们传递无穷大(+ ve或–ve),它将返回无穷大。

如果传递零(0或-0),则返回“ Float.MIN_VALUE” /“ Double.MIN_VALUE”。

如果我们传递“ Float.MAX_VALUE”,则返回2 ^ 104;对于“ Double.MAX_VALUE”,则返回2 ^ 971。

Java程序演示ulp()方法示例//Java程序演示的例子

//数学类的ulp(float fl)方法

public class UlpFloatTypeMethod {

public static void main(String[] args) {

//声明变量

float f1 = 0.0f;

float f2 = -0.0f;

float f3 = 7.0f / 0.0f;

float f4 = -7.0f / 0.0f;

float f5 = 1285.45f;

//显示值

System.out.println("f1: " + f1);

System.out.println("f2: " + f2);

System.out.println("f3: " + f3);

System.out.println("f4: " + f4);

System.out.println("f5: " + f5);

//在这里,我们将得到(Float.MIN_VALUE),因为

//我们正在传递参数(0.0)

System.out.println("Math.ulp(f1): " + Math.ulp(f1));

//在这里,我们将得到(Float.MIN_VALUE),因为

//我们正在传递参数(-0.0)

System.out.println("Math.ulp(f2): " + Math.ulp(f2));

//在这里,我们将得到(Infinity)因为

//我们正在传递参数(7.0 / 0.0)

System.out.println("Math.ulp(f3): " + Math.ulp(f3));

//在这里,我们将得到(Infinity)因为

//我们正在传递参数(-7.0 / 0.0)

System.out.println("Math.ulp(f4): " + Math.ulp(f4));

//在这里,我们将得到(2提升到104的幂)

//因为我们要传递参数(1285.45)

System.out.println("Math.ulp(f5): " + Math.ulp(f5));

}

}

输出结果E:\Programs>javac UlpFloatTypeMethod.java

E:\Programs>java UlpFloatTypeMethod

f1: 0.0

f2: -0.0

f3: Infinity

f4: -Infinity

f5: 1285.45

Math.ulp(f1): 1.4E-45

Math.ulp(f2): 1.4E-45

Math.ulp(f3): Infinity

Math.ulp(f4): Infinity

Math.ulp(f5): 1.2207031E-4

范例2://Java程序演示的例子

//数学类的ulp(float fl)方法

public class UlpFloatTypeMethod {

public static void main(String[] args) {

//声明变量

double d1 = 0.0;

double d2 = -0.0;

double d3 = 7.0 / 0.0;

double d4 = -7.0f / 0.0;

double d5 = 1285.45;

//显示值

System.out.println("d1: " + d1);

System.out.println("d2: " + d2);

System.out.println("d3: " + d3);

System.out.println("d4: " + d4);

System.out.println("d5: " + d5);

//在这里,我们将得到(Float.MIN_VALUE),因为

//我们正在传递参数(0.0)

System.out.println("Math.ulp(d1): " + Math.ulp(d1));

//在这里,我们将得到(Float.MIN_VALUE),因为

//我们正在传递参数(-0.0)

System.out.println("Math.ulp(d2): " + Math.ulp(d2));

//在这里,我们将得到(Infinity)因为

//我们正在传递参数(7.0 / 0.0)

System.out.println("Math.ulp(d3): " + Math.ulp(d3));

//在这里,我们将得到(Infinity)因为

//我们正在传递参数(-7.0 / 0.0)

System.out.println("Math.ulp(d4): " + Math.ulp(d4));

//在这里,我们将得到(2提升到971的幂)

//因为我们要传递参数(1285.45)

System.out.println("Math.ulp(d5): " + Math.ulp(d5));

}

}

输出结果E:\Programs>javac UlpMethod.java

E:\Programs>java UlpMethod

d1: 0.0

d2: -0.0

d3: Infinity

d4: -Infinity

d5: 1285.45

Math.ulp(d1): 4.9E-324

Math.ulp(d2): 4.9E-324

Math.ulp(d3): Infinity

Math.ulp(d4): Infinity

Math.ulp(d5): 2.2737367544323206E-13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值