Java Math ulp()方法及实例

Java Math ulp()方法及实例

java.lang.Math.ulp()是一个内置的java方法,它返回参数的ulp的大小。ulp代表最小精度单位。它计算给定的双数或浮点数与
双数或浮点数之间的距离。

参数可以是两种类型。

  • LUL(float f) : 它需要输入浮点类型。
  • ulp(double d) 。 它接受双倍类型的输入。

注意 :

  • 如果参数是NaN,输出是NaN。
  • 如果参数是正或负的双数或浮点数,ulp(-arg)和ulp(arg)的输出是一样的。
  • 如果参数是正的或负的零,输出为Double.MIN_VALUE或Float.MIN_VALUE。
  • 如果参数是正的或负的无穷大,输出是正的无穷大。
  • 如果参数是正的或负的Double.MAX_VALUE或Float.MAX_VALUE,对于double类型,输出为2971 ,对于float类型,输出为2104 。

语法 :

public static dataType ulp(dataType g)

参数:
g:要返回其ulp的参数。
返回。
该方法返回参数的ulp的大小。

例子:展示java.lang.Math.ulp()方法的工作。

// Java program to demonstrate working
// of java.lang.Math.ulp() method
import java.lang.Math;
  
class Gfg {
  
    // driver code
    public static void main(String args[])
    {
        double a = 34.543;
  
        // Input positive double value
        // Output ulp(a)
        System.out.println(Math.ulp(a));
  
        // Input negative double value
        // Output ulp(-a)==ulp(a)
        System.out.println(Math.ulp(-a));
  
        double b = 0.0 / 0;
  
        // Input NaN, Output Nan
        System.out.println(Math.ulp(b));
  
        float c = -0.0f;
  
        // Input negative zero
        // Output  Float.MIN_VALUE.
        System.out.println(Math.ulp(c));
  
        float d = -1.0f / 0;
  
        // Input negative infinity
        // Output  positive infinity.
        System.out.println(Math.ulp(d));
  
        double e = Double.MAX_VALUE;
  
        System.out.println(Math.ulp(e));
    }
}

输出:

7.105427357601002E-15
7.105427357601002E-15
NaN
1.4E-45
Infinity
1.9958403095347198E292

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程