當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Math ulp()用法及代碼示例


java.lang.Math.ulp()是一個內置 java方法,該方法返回參數ulp的大小.ulp表示最低精度單位,它計算給定double或float值與double或float值之間的距離下一個更大。參數可以有兩種類型:

  • ulp(float f):它接受浮點類型的輸入。
  • ulp(double d):它接受雙精度型輸入。

注意:

  • 如果參數為NaN,則輸出為NaN。
  • 如果參數為正值或負值double或float值,則ulp(-arg)和ulp(arg)的輸出相同。
  • 如果參數為正零或負零,則輸出將為Double.MIN_VALUE或Float.MIN_VALUE。
  • 如果參數為正無窮大或負無窮大,則輸出為正無窮大。
  • 如果參數為正數或負數Double.MAX_VALUE或Float.MAX_VALUE,則輸出為2971對於雙類型和2104對於浮點類型。

用法:


public static dataType ulp(dataType g)
參數:
 g:argument whose ulp is to be returned.
返回:
This method returns the size of an ulp of the argument.

例:展示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


相關用法


注:本文由純淨天空篩選整理自Niraj_Pandey大神的英文原創作品 Java Math ulp() method with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。