Java.lang.StrictMath.ulp() 方法

描述

java.lang.StrictMath.ulp(double d) 方法返回参数的 ulp 的大小。 双精度值的 ulp 是该浮点值与幅度下一个更大的双精度值之间的正距离。 对于非 NaN x,ulp(-x) == ulp(x)。包括这些情况 −

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

声明

以下是 java.lang.StrictMath.ulp() 方法的声明。

public static double ulp(double d)

参数

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


返回值

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


异常

NA


示例

下面的例子展示了 java.lang.StrictMath.ulp() 方法的使用。

package com.tutorialspoint;

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