Java Math ulp() 方法

定义和用法

ulp() 方法返回数的最小精度单位 (unit of least precision)。

最小精度单位是指你可以从一个数向上或向下移动的最小步长。例如,50000000.0f 的 ulp 是 4.0,所以可以用 float 数据类型表示的下一个数字是 50000004.0f

注意:double 数据类型的精度比 float 数据类型的精度高得多,所以 ulp 更小。

注意:较大的数字比较小的数字精度更低,这意味着 ulp 更大。

注意:数字的正负符号不会影响 ulp。

实例

求不同数字的最小精度单位:

System.out.println(Math.ulp(1.0));
System.out.println(Math.ulp(1.0f));
System.out.println(Math.ulp(5000000.0));
System.out.println(Math.ulp(5000000.0f));
System.out.println(Math.ulp(50000000.0));
System.out.println(Math.ulp(50000000.0f));

亲自试一试

语法

public static double ulp(double number)
public static float ulp(float number)

参数

参数 描述
number 必需。浮点数。

技术细节

返回: 表示最小精度单位的 doublefloat 值。
Java 版本: 1.5+