java.lang.Math.ulp() 返回参数的 ulp 的大小。 ulp 是最后一个单位。 float 或 double 值的 ulp 是给定值与下一个较大的值之间的正距离。
注意:对于非 NaN x,ulp(-x) == ulp(x)。
用法
public static double ulp(double x)
public static float ulp(float x)
参数
x = a floating-point value whose ulp is to be returned
返回
It returns the size of an ulp of the argument.
- 如果参数为正或负双精度或浮点值,则此方法将返回输出。
- 如果参数是正无穷大或负无穷大,此方法将返回正无穷大。
- 如果参数为正或负零,则此方法将返回 Double.MIN_VALUE。
- 如果参数是 Ä…Double.MAX_VALUE,此方法将返回等于 2971 的结果。
- 如果参数是 Ä…Float.MAX_VALUE,此方法将返回等于 2104 的结果。
- 如果参数为 NaN,则此方法将返回 NaN。
例子1
public class UlpExample1
{
public static void main(String[] args)
{
double a = 8.1;
// Input positive double value, Output ulp(a)
System.out.println(Math.ulp(a));
}
}
输出:
1.7763568394002505E-15
例子2
public class UlpExample2
{
public static void main(String[] args)
{
double a = -37.1;
// Input negative double value, Output ulp(-a)==ulp(a)
System.out.println(Math.ulp(a));
}
}
输出:
7.105427357601002E-15
例子3
public class UlpExample3
{
public static void main(String[] args)
{
float a = -1.0f / 0;
// Input negative infinity, Output positive infinity
System.out.println(Math.ulp(a));
}
}
输出:
Infinity
示例 4
public class UlpExample4
{
public static void main(String[] args)
{
double a = 0.0;
// Input zero, Output Double.MIN_VALUE
System.out.println(Math.ulp(a));
}
}
输出:
4.9E-324
例 5
public class UlpExample5
{
public static void main(String[] args)
{
double a = Double.MAX_VALUE ;
// Input Double.MAX_VALUE, Output 2 power of 971
System.out.println(Math.ulp(a));
}
}
输出:
1.9958403095347198E292
例 6
public class UlpExample6
{
public static void main(String[] args)
{
float a = Float.MAX_VALUE ;
// Input Float.MAX_VALUE, Output 2 power of 104
System.out.println(Math.ulp(a));
}
}
输出:
2.028241E31
相关用法
- Java Math.multiplyExact()用法及代码示例
- Java Math.rint()用法及代码示例
- Java Math.nextUp()用法及代码示例
- Java Math.tan()用法及代码示例
- Java Math.asin()用法及代码示例
- Java Math.atan()用法及代码示例
- Java Math.nextAfter()用法及代码示例
- Java Math.exp()用法及代码示例
- Java Math.tanh()用法及代码示例
- Java Math.toDegrees()用法及代码示例
- Java Math.getExponent()用法及代码示例
- Java Math.toIntExact()用法及代码示例
- Java Math.IEEEremainder()用法及代码示例
- Java Math.sqrt()用法及代码示例
- Java Math.incrementExact()用法及代码示例
- Java Math.min()用法及代码示例
- Java Math.log()用法及代码示例
- Java Math.log1p()用法及代码示例
- Java Math.signum()用法及代码示例
- Java Math.copySign()用法及代码示例
注:本文由纯净天空筛选整理自 Java Math.ulp() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。