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
相關用法
- Java Math min()用法及代碼示例
- Java Math abs()用法及代碼示例
- Java Math fma()用法及代碼示例
- Java Math tan()用法及代碼示例
- Java Math cos()用法及代碼示例
- Java Math max()用法及代碼示例
- Java Math sin()用法及代碼示例
- Java Math multiplyFull()用法及代碼示例
- Java Math nextUp()用法及代碼示例
- Java Math acos()用法及代碼示例
- Java Math IEEEremainder()用法及代碼示例
- Java Math copySign()用法及代碼示例
- Java Math nextDown()用法及代碼示例
- Java Math multiplyHigh()用法及代碼示例
- Java Math sinh()用法及代碼示例
注:本文由純淨天空篩選整理自Niraj_Pandey大神的英文原創作品 Java Math ulp() method with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。