Java StrictMath ulp()方法

java.lang.StrictMath.ulp(double d) 方法返回参数的ulp的大小。 double值的ulp是该浮点值与下一个数值较大的double值之间的正距离。对于非NaN x, ulp(-x) == ulp(x)。它包括以下情况:

  • 如果参数为NaN,那么结果为NaN。
  • 如果参数为正或负无穷大,那么结果为正无穷大。
  • 如果参数为正或负0,那么结果是Double.MIN_VALUE。
  • 如果参数为±Double.MAX_VALUE,那么结果等于 2971.

1 语法

public static double ulp(double d)

2 参数

d : 这是要返回浮点的ulp值。

3 返回值

此方法返回参数的ulp的大小。

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java StrictMath ulp()方法
 */
import java.lang.*;

public class StrictMathDemo {

  public static void main(String[] args) {
  
    double d1 = 5.5 , d2 = -2.9, d3 = 0.0;
  
    // returns the size of an ulp of the argument
    double ulpValue = StrictMath.ulp(d1); 
    System.out.println("Size of ulp of " + d1 + " = " + ulpValue);
    
    ulpValue = StrictMath.ulp(d2); 
    System.out.println("Size of ulp of " + d2 + " = " + ulpValue);
    
    ulpValue = StrictMath.ulp(d3); 
    System.out.println("Size of ulp of " + d3 + " = " + ulpValue);
 }
}

输出结果为:

Size of ulp of 5.5 = 8.881784197001252E-16
Size of ulp of -2.9 = 4.440892098500626E-16
Size of ulp of 0.0 = 4.9E-324

 

热门文章

优秀文章