JavaTM 2 Platform
Standard Ed. 6

java.lang
類別 Math

java.lang.Object
  繼承者 java.lang.Math

public final class Math
extends Object

Math 類別包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數。

StrictMath 類別的某些數學方法不同,並非 Math 類別所有等價函數的實作都定義為返回逐位相同的結果。此類別在不需要嚴格重複的地方可以得到更好的執行。

預設情況下,很多 Math 方法僅調用 StrictMath 中的等價方法來完成它們的實作。建議程式碼產生器使用特定於平臺的本機資源庫或者微處理器指令(可用時)來提供 Math 方法更高性能的實作。這種更高性能的實作仍然必須遵守 Math 的規範。

實作規範的質量涉及到兩種屬性,即返回結果的準確性和方法的單調性。浮點 Math 方法的準確性根據 ulp(units in the last place,最後一位的進退位)來衡量。對於給定的浮點格式,特定實數值的 ulp 是包括該數值的兩個浮點值的差。當作為一個整體而不是針對具體參數討論方法的準確性時,引入的 ulp 數用於任何參數最差情況下的誤差。如果一個方法的誤差總是小於 0.5 ulp,那麼該方法始終返回最接近準確結果的浮點數;這種方法就是正確捨入。一個正確捨入的方法通常能得到最佳的浮點近似值;然而,對於許多浮點方法,進行正確捨入有些不切實際。相反,對於 Math 類別,某些方法允許誤差在 1 或 2 ulp 的範圍內。非正式地,對於 1 ulp 的誤差範圍,當準確結果是可表示的數值時,應該按照計算結果返回準確結果;否則,返回包括準確結果的兩個浮點值中的一個。對於值很大的準確結果,括號的一端可以是無窮大。除了個別參數的準確性之外,維護不同參數的方法之間的正確關係也很重要。因此,大多數誤差大於 0.5 ulp 的方法都要求是半單調的:只要數學函數是非遞減的,浮點近似值就是非遞減的;同樣,只要數學函數是非遞增的,浮點近似值就是非遞增的。並非所有準確性為 1 ulp 的近似值都能自動滿足單調性要求。

從以下版本開始:
JDK1.0

欄位摘要
static double E
          比任何其他值都更接近 e(即自然對數的底數)的 double 值。
static double PI
          比任何其他值都更接近 pi(即圓的周長與直徑之比)的 double 值。
 
方法摘要
static double abs(double a)
          返回 double 值的絕對值。
static float abs(float a)
          返回 float 值的絕對值。
static int abs(int a)
          返回 int 值的絕對值。
static long abs(long a)
          返回 long 值的絕對值。
static double acos(double a)
          返回一個值的反餘弦;返回的角度範圍在 0.0 到 pi 之間。
static double asin(double a)
          返回一個值的反正弦;返回的角度範圍在 -pi/2 到 pi/2 之間。
static double atan(double a)
          返回一個值的反正切;返回的角度範圍在 -pi/2 到 pi/2 之間。
static double atan2(double y, double x)
          將矩形坐標 (xy) 轉換成極坐標 (r, theta),返回所得角 theta
static double cbrt(double a)
          返回 double 值的立方根。
static double ceil(double a)
          返回最小的(最接近負無窮大)double 值,該值大於等於參數,並等於某個整數。
static double copySign(double magnitude, double sign)
          返回帶有第二個浮點參數符號的第一個浮點參數。
static float copySign(float magnitude, float sign)
          返回帶有第二個浮點參數符號的第一個浮點參數。
static double cos(double a)
          返回角的三角餘弦。
static double cosh(double x)
          返回 double 值的雙曲線餘弦。
static double exp(double a)
          返回歐拉數 edouble 次方的值。
static double expm1(double x)
          返回 ex -1。
static double floor(double a)
          返回最大的(最接近正無窮大)double 值,該值小於等於參數,並等於某個整數。
static int getExponent(double d)
          返回 double 表示形式中使用的無偏指數。
static int getExponent(float f)
          返回 float 表示形式中使用的無偏指數。
static double hypot(double x, double y)
          返回 sqrt(x2 +y2),沒有中間溢位或下溢。
static double IEEEremainder(double f1, double f2)
          按照 IEEE 754 標準的規定,對兩個參數進行餘數運算。
static double log(double a)
          返回 double 值的自然對數(底數是 e)。
static double log10(double a)
          返回 double 值的底數為 10 的對數。
static double log1p(double x)
          返回參數與 1 之和的自然對數。
static double max(double a, double b)
          返回兩個 double 值中較大的一個。
static float max(float a, float b)
          返回兩個 float 值中較大的一個。
static int max(int a, int b)
          返回兩個 int 值中較大的一個。
static long max(long a, long b)
          返回兩個 long 值中較大的一個。
static double min(double a, double b)
          返回兩個 double 值中較小的一個。
static float min(float a, float b)
          返回兩個 float 值中較小的一個。
static int min(int a, int b)
          返回兩個 int 值中較小的一個。
static long min(long a, long b)
          返回兩個 long 值中較小的一個。
static double nextAfter(double start, double direction)
          返回第一個參數和第二個參數之間與第一個參數相鄰的浮點數。
static float nextAfter(float start, double direction)
          返回第一個參數和第二個參數之間與第一個參數相鄰的浮點數。
static double nextUp(double d)
          返回 d 和正無窮大之間與 d 相鄰的浮點值。
static float nextUp(float f)
          返回 f 和正無窮大之間與 f 相鄰的浮點值。
static double pow(double a, double b)
          返回第一個參數的第二個參數次方的值。
static double random()
          返回帶正號的 double 值,該值大於等於 0.0 且小於 1.0
static double rint(double a)
          返回最接近參數並等於某一整數的 double 值。
static long round(double a)
          返回最接近參數的 long
static int round(float a)
          返回最接近參數的 int
static double scalb(double d, int scaleFactor)
          返回 d × 2scaleFactor,其捨入方式如同將一個正確捨入的浮點值乘以 double 值集合中的一個值。
static float scalb(float f, int scaleFactor)
          返回 f × 2scaleFactor,其捨入方式如同將一個正確捨入的浮點值乘以 float 值集合中的一個值。
static double signum(double d)
          返回參數的符號函數;如果參數為 0,則返回 0;如果參數大於 0,則返回 1.0;如果參數小於 0,則返回 -1.0。
static float signum(float f)
          返回參數的符號函數;如果參數為 0,則返回 0;如果參數大於 0,則返回 1.0;如果參數小於 0,則返回 -1.0。
static double sin(double a)
          返回角的三角正弦。
static double sinh(double x)
          返回 double 值的雙曲線正弦。
static double sqrt(double a)
          返回正確捨入的 double 值的正平方根。
static double tan(double a)
          返回角的三角正切。
static double tanh(double x)
          返回 double 值的雙曲線餘弦。
static double toDegrees(double angrad)
          將用弧度表示的角轉換為近似相等的用角度表示的角。
static double toRadians(double angdeg)
          將用角度表示的角轉換為近似相等的用弧度表示的角。
static double ulp(double d)
          返回參數的 ulp 大小。
static float ulp(float f)
          返回參數的 ulp 大小。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

E

public static final double E
比任何其他值都更接近 e(即自然對數的底數)的 double 值。

另請參見:
常數欄位值

PI

public static final double PI
比任何其他值都更接近 pi(即圓的周長與直徑之比)的 double 值。

另請參見:
常數欄位值
方法詳細資訊

sin

public static double sin(double a)
返回角的三角正弦。特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。

參數:
a - 以弧度表示的角。
返回:
參數的正弦。

cos

public static double cos(double a)
返回角的三角餘弦。特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。

參數:
a - 以弧度表示的角。
返回:
參數的餘弦。

tan

public static double tan(double a)
返回角的三角正切。特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。

參數:
a - 以弧度表示的角。
返回:
參數的正切。

asin

public static double asin(double a)
返回一個值的反正弦;返回的角度範圍在 -pi/2 到 pi/2 之間。特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。

參數:
a - 要返回其反正弦的值。
返回:
參數的反正弦。

acos

public static double acos(double a)
返回一個值的反餘弦;返回的角度範圍在 0.0 到 pi 之間。特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。

參數:
a - 要返回其反餘弦的值。
返回:
參數的反餘弦。

atan

public static double atan(double a)
返回一個值的反正切;返回的角度範圍在 -pi/2 到 pi/2 之間。特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。

參數:
a - 要返回其反正切的值。
返回:
參數的反正切。

toRadians

public static double toRadians(double angdeg)
將用角度表示的角轉換為近似相等的用弧度表示的角。從角度到弧度的轉換通常是不精確的。

參數:
angdeg - 用角度表示的角
返回:
angrad 用弧度表示的值。
從以下版本開始:
1.2

toDegrees

public static double toDegrees(double angrad)
將用弧度表示的角轉換為近似相等的用角度表示的角。從弧度到角度的轉換通常是不精確的;使用者 應該期望 cos(toRadians(90.0))0.0 完全相等。

參數:
angrad - 用弧度表示的角。
返回:
angrad 用角度表示的值。
從以下版本開始:
1.2

exp

public static double exp(double a)
返回歐拉數 edouble 次方的值。特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。

參數:
a - e 的指數。
返回:
ea,其中 e 是自然對數的底數。

log

public static double log(double a)
返回 double 值的自然對數(底數是 e)。特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。

參數:
a - 一個值
返回:
ln a 的值,即 a 的自然對數。

log10

public static double log10(double a)
返回 double 值的底數為 10 的對數。特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。

參數:
a - 一個值
返回:
a 的底數為 10 的對數。
從以下版本開始:
1.5

sqrt

public static double sqrt(double a)
返回正確捨入的 double 值的正平方根。特殊情況如下: 否則,結果為最接近該參數值的實際數學平方根的 double 值。

參數:
a - 一個值。
返回:
a 的正平方根。 如果參數為 NaN 或小於 0,那麼結果為 NaN。

cbrt

public static double cbrt(double a)
返回 double 值的立方根。對於正的有限值 xcbrt(-x) == -cbrt(x);也就是說,負值的立方根是該值數值的負立方根。特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。

參數:
a - 一個值。
返回:
a 的立方根。
從以下版本開始:
1.5

IEEEremainder

public static double IEEEremainder(double f1,
                                   double f2)
按照 IEEE 754 標準的規定,對兩個參數進行餘數運算。餘數的算術值等於 f1 - f2 × n,其中 n 是最接近商 f1/f2 準確算術值的整數,如果兩個整數都同樣接近 f1/f2,那麼 n 是其中的偶數。如果餘數是 0,那麼它的符號與第一個參數的符號相同。特殊情況如下:

參數:
f1 - 被除數。
f2 - 除數。
返回:
f1 除以 f2 的餘數。

ceil

public static double ceil(double a)
返回最小的(最接近負無窮大)double 值,該值大於等於參數,並等於某個整數。特殊情況如下: 注意,Math.ceil(x) 的值與 -Math.floor(-x) 的值完全相同。

參數:
a - 一個值。
返回:
最小(最接近負無窮大)浮點值,該值大於等於該參數,並等於某個整數。

floor

public static double floor(double a)
返回最大的(最接近正無窮大)double 值,該值小於等於參數,並等於某個整數。特殊情況如下:

參數:
a - 一個值。
返回:
最大(最接近正無窮大)浮點值,該值小於等於該參數,並等於某個整數。

rint

public static double rint(double a)
返回最接近參數並等於某一整數的 double 值。如果兩個同為整數的 double 值都同樣接近,那麼結果取偶數。特殊情況如下:

參數:
a - double 值。
返回:
最接近 a 的整數浮點值。

atan2

public static double atan2(double y,
                           double x)
將矩形坐標 (xy) 轉換成極坐標 (r, theta),返回所得角 theta。該方法通過計算 y/x 的反正切值來計算相角 theta,範圍為從 -pipi。特殊情況如下:

計算結果必須在準確結果的 2 ulp 範圍內。結果必須具有半單調性。

參數:
y - 縱坐標
x - 橫坐標
返回:
與笛卡兒坐標中點 (xy) 對應的極坐標中點 (rtheta) 的 theta 元件。

pow

public static double pow(double a,
                         double b)
返回第一個參數的第二個參數次方的值。特殊情況如下:

(在前面的描述中,當且僅當浮點數為有限值並且是方法 ceil 的定點數,或者是方法 floor 的定點數時,才可以認為浮點值是整數。當且僅當將某個單參數方法應用到某個值的結果等於該值時,該值才是這個方法的定點值。)

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。

參數:
a - 底數。
b - 指數。
返回:
ab

round

public static int round(float a)
返回最接近參數的 int。結果將捨入為整數:加上 1/2,對結果調用 floor 並將所得結果強制轉換為 int 型別。換句話說,結果等於以下表達式的值:

(int)Math.floor(a + 0.5f)

特殊情況如下:

參數:
a - 要捨入為整數的浮點值。
返回:
捨入為最接近的 int 值的參數值。
另請參見:
Integer.MAX_VALUE, Integer.MIN_VALUE

round

public static long round(double a)
返回最接近參數的 long。結果將捨入為整數:加上 1/2,對結果調用 floor 並將所得結果強制轉換為 long 型別。換句話說,結果等於以下表達式的值:

(long)Math.floor(a + 0.5d)

特殊情況如下:

參數:
a - 捨入為 long 的浮點值。
返回:
捨入為最接近的 long 值的參數值。
另請參見:
Long.MAX_VALUE, Long.MIN_VALUE

random

public static double random()
返回帶正號的 double 值,該值大於等於 0.0 且小於 1.0。返回值是一個偽隨機(亂數) 選擇的數,在該範圍內(近似)均勻分佈。

第一次調用該方法時,它將創建一個新的偽隨機數(亂數)產生器,與以下表達式完全相同

new java.util.Random
之後,新的偽隨機數(亂數)產生器可用於此方法的所有調用,但不能用於其他地方。

此方法是完全同步的,可允許多個執行緒使用而不出現錯誤。但是,如果許多執行緒需要以極高的速率產生偽隨機數(亂數),那麼這可能會減少每個執行緒對擁有自己偽隨機數(亂數)產生器的爭用。

返回:
大於等於 0.0 且小於 1.0 的偽隨機(亂數) double 值。
另請參見:
Random.nextDouble()

abs

public static int abs(int a)
返回 int 值的絕對值。如果參數為非負數,則返回該參數。如果參數為負數,則返回該參數的相反數。

注意,如果參數等於 Integer.MIN_VALUE 的值(即能夠表示的最小負 int 值),那麼結果與該值相同且為負。

參數:
a - 要確定絕對值的參數。
返回:
參數的絕對值。
另請參見:
Integer.MIN_VALUE

abs

public static long abs(long a)
返回 long 值的絕對值。如果參數為非負數,則返回該參數。如果參數為負數,則返回該參數的相反數。

注意,如果參數等於 Long.MIN_VALUE 的值(即能夠表示的最小負 long 值),則結果與該值相同且為負。

參數:
a - 要確定絕對值的參數。
返回:
參數的絕對值。
另請參見:
Long.MIN_VALUE

abs

public static float abs(float a)
返回 float 值的絕對值。如果參數為非負數,則返回該參數。如果參數為負數,則返回該參數的相反數。特殊情況如下: 換句話說,結果等於以下表達式的值:

Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))

參數:
a - 要確定絕對值的參數。
返回:
參數的絕對值。

abs

public static double abs(double a)
返回 double 值的絕對值。如果參數為非負數,則返回該參數。如果參數為負數,則返回該參數的相反數。特殊情況如下: 換句話說,結果等於以下表達式的值:

Double.longBitsToDouble((Double.doubleToLongBits(a)<<1)>>>1)

參數:
a - 要確定絕對值的參數。
返回:
參數的絕對值。

max

public static int max(int a,
                      int b)
返回兩個 int 值中較大的一個。也就是說,結果為更接近 Integer.MAX_VALUE 值的參數。如果參數值相同,那麼結果也是同一個值。

參數:
a - 參數。
b - 另一個參數。
返回:
ab 中的較大者。
另請參見:
Long.MAX_VALUE

max

public static long max(long a,
                       long b)
返回兩個 long 值中較大的一個。也就是說,結果為更接近 Long.MAX_VALUE 值的參數。如果參數值相同,那麼結果也是同一個值。

參數:
a - 參數。
b - 另一個參數。
返回:
ab 中的較大者。
另請參見:
Long.MAX_VALUE

max

public static float max(float a,
                        float b)
返回兩個 float 值中較大的一個。也就是說,結果為更接近正無窮大的參數。如果參數值相同,那麼結果也是同一個值。如果任一值為 NaN,那麼結果為 NaN。與數值比較運算不同,此方法認為負 0 嚴格小於正 0。如果一個參數為正 0,另一個參數為負 0,那麼結果為正 0。

參數:
a - 參數。
b - 另一個參數。
返回:
ab 中的較大者。

max

public static double max(double a,
                         double b)
返回兩個 double 值中較大的一個。也就是說,結果為更接近正無窮大的參數。如果參數值相同,那麼結果也是同一個值。如果任一值為 NaN,那麼結果為 NaN。與數值比較運算不同,該方法認為負 0 嚴格小於正 0。如果一個參數為正 0,另一個參數為負 0,那麼結果為正 0。

參數:
a - 參數。
b - 另一個參數。
返回:
ab 中的較大者。

min

public static int min(int a,
                      int b)
返回兩個 int 值中較小的一個。也就是說,結果為更接近 Integer.MIN_VALUE 值的參數。如果參數值相同,那麼結果也是同一個值。

參數:
a - 參數。
b - 另一個參數。
返回:
ab 中的較小者。
另請參見:
Long.MIN_VALUE

min

public static long min(long a,
                       long b)
返回兩個 long 值中較小的一個。也就是說,結果為更接近 Long.MIN_VALUE 值的參數。如果參數值相同,那麼結果也是同一個值。

參數:
a - 參數。
b - 另一個參數。
返回:
ab 中的較小者。
另請參見:
Long.MIN_VALUE

min

public static float min(float a,
                        float b)
返回兩個 float 值中較小的一個。也就是說,結果為更接近負無窮大的值。如果參數值相同,那麼結果也是同一個值。如果任一值為 NaN,那麼結果為 NaN。與數值比較運算不同,該方法認為負 0 嚴格小於正 0。如果一個參數為正 0,另一個參數為負 0,那麼結果為負 0。

參數:
a - 參數。
b - 另一個參數。
返回:
ab 中的較小者。

min

public static double min(double a,
                         double b)
返回兩個 double 值中較小的一個。也就是說,結果為更接近負無窮大的值。如果參數值相同,那麼結果也是同一個值。如果任一值為 NaN,那麼結果為 NaN。與數值比較運算不同,該方法認為負 0 嚴格小於正 0。如果一個參數為正 0,另一個參數為負 0,那麼結果為負 0。

參數:
a - 參數。
b - 另一個參數。
返回:
ab 中的較小者。

ulp

public static double ulp(double d)
返回參數的 ulp 大小。double 值的 ulp 是此浮點值與下一個數值較大的 double 值之間的正距離。注意,對於非 NaN xulp(-x) == ulp(x)

特殊情況如下:

參數:
d - 要返回 ulp 的浮點值
返回:
參數的 ulp 大小
從以下版本開始:
1.5

ulp

public static float ulp(float f)
返回參數的 ulp 大小。float 值的 ulp 是該浮點值與下一個數值較大的 float 值之間的正距離。注意,對於非 NaN xulp(-x) == ulp(x)

特殊情況如下:

參數:
f - 要返回 ulp 的浮點值
返回:
參數的 ulp 大小
從以下版本開始:
1.5

signum

public static double signum(double d)
返回參數的符號函數;如果參數為 0,則返回 0;如果參數大於 0,則返回 1.0;如果參數小於 0,則返回 -1.0。

特殊情況如下:

參數:
d - 要返回符號函數的浮點值
返回:
參數的符號函數
從以下版本開始:
1.5

signum

public static float signum(float f)
返回參數的符號函數;如果參數為 0,則返回 0;如果參數大於 0,則返回 1.0;如果參數小於 0,則返回 -1.0。

特殊情況如下:

參數:
f - 要返回符號函數的浮點值
返回:
參數的符號函數
從以下版本開始:
1.5

sinh

public static double sinh(double x)
返回 double 值的雙曲線正弦。x 雙曲線正弦的定義是 (ex - e-x)/2,其中 e歐拉數

特殊情況如下:

計算結果必須在準確結果的 2.5 ulp 範圍內。

參數:
x - 要返回其雙曲線正弦的數字。
返回:
x 的雙曲線正弦。
從以下版本開始:
1.5

cosh

public static double cosh(double x)
返回 double 值的雙曲線餘弦。x 的雙曲線餘弦的定義是 (ex + e-x)/2,其中 e歐拉數

特殊情況如下:

計算結果必須在準確結果的 2.5 ulp 範圍內。

參數:
x - 要返回其雙曲線餘弦的數字。
返回:
x 的雙曲線餘弦。
從以下版本開始:
1.5

tanh

public static double tanh(double x)
返回 double 值的雙曲線餘弦。x 的雙曲線正切的定義是 (ex - e-x)/(ex + e-x),即 sinh(x)/cosh(x)。注意,準確的 tanh 絕對值始終小於 1。

特殊情況如下:

計算結果必須在準確結果的 2.5 ulp 範圍內。任何有限輸入值的 tanh 結果的絕對值必定小於等於 1。注意,一旦準確的 tanh 結果在極限值 ±1 的 1/2 ulp 內,則應該返回有正確符號的 ±1.0

參數:
x - 要返回其雙曲線正切的數字。
返回:
x 的雙曲線正切。
從以下版本開始:
1.5

hypot

public static double hypot(double x,
                           double y)
返回 sqrt(x2 +y2),沒有中間溢位或下溢。

特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。如果一個參數保持常數,那麼在另一個參數中,結果必須具有半單調性。

參數:
x - 一個值
y - 一個值
返回:
沒有中間溢位或下溢的 sqrt(x2 +y2)
從以下版本開始:
1.5

expm1

public static double expm1(double x)
返回 ex -1。注意,對於接近 0 的 x 值,expm1(x) + 1 的準確和比 exp(x) 更接近 ex 的真實結果。

特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。任何有限輸入值的 expm1 的結果一定大於或等於 -1.0。注意,一旦 ex - 1 的準確結果在極限值 -1 的 1/2 ulp 範圍內,則應該返回 -1.0

參數:
x - 在 ex -1 的計算中 e 的指數。
返回:
ex - 1。
從以下版本開始:
1.5

log1p

public static double log1p(double x)
返回參數與 1 之和的自然對數。注意,對於小的 x 值,log1p(x) 的結果比 log(1.0+x) 的浮點計算結果更接近 ln(1 + x) 的實際結果。

特殊情況如下:

計算結果必須在準確結果的 1 ulp 範圍內。結果必須具有半單調性。

參數:
x - 一個值
返回:
值 ln(x + 1),即 x + 1 的自然對數
從以下版本開始:
1.5

copySign

public static double copySign(double magnitude,
                              double sign)
返回帶有第二個浮點參數符號的第一個浮點參數。注意,與 StrictMath.copySign 方法不同,此方法不要求將 NaN sign 參數視為正值;允許實作將某些 NaN 參數視為正,將另一些視為負,以獲得更好的性能。

參數:
magnitude - 提供結果數值的參數
sign - 提供結果符號的參數
返回:
一個值,帶有 magnitude 的數值,sign 的符號。
從以下版本開始:
1.6

copySign

public static float copySign(float magnitude,
                             float sign)
返回帶有第二個浮點參數符號的第一個浮點參數。注意,與 StrictMath.copySign 方法不同,此方法不要求將 NaN sign 參數視為正值;允許實作將某些 NaN 參數視為正,將另一些視為負,以獲得更好的性能。

參數:
magnitude - 提供結果數值的參數
sign - 提供結果符號的參數
返回:
一個值,帶有 magnitude 的數值,sign 的符號。
從以下版本開始:
1.6

getExponent

public static int getExponent(float f)
返回 float 表示形式中使用的無偏指數。特殊情況如下:

參數:
f - 一個 float
返回:
參數的無偏指數
從以下版本開始:
1.6

getExponent

public static int getExponent(double d)
返回 double 表示形式中使用的無偏指數。特殊情況如下:

參數:
d - double
返回:
參數的無偏指數
從以下版本開始:
1.6

nextAfter

public static double nextAfter(double start,
                               double direction)
返回第一個參數和第二個參數之間與第一個參數相鄰的浮點數。如果兩個參數比較起來相等,則返回第二個參數。

特殊情況如下:

參數:
start - 起始浮點值。
direction - 一個值,指示應返回 start 的某個鄰數還是 start
返回:
startdirection 之間與 start 相鄰的浮點數。
從以下版本開始:
1.6

nextAfter

public static float nextAfter(float start,
                              double direction)
返回第一個參數和第二個參數之間與第一個參數相鄰的浮點數。如果兩個參數比較起來相等,則返回一個與第二個參數相等的值。

特殊情況如下:

參數:
start - 起始浮點值。
direction - 一個值,指示應返回 start 的某個鄰數還是 start
返回:
startdirection 之間與 start 相鄰的浮點數。
從以下版本開始:
1.6

nextUp

public static double nextUp(double d)
返回 d 和正無窮大之間與 d 相鄰的浮點值。此方法在語義上等同於 nextAfter(d, Double.POSITIVE_INFINITY);但是,nextUp 實作的返回速度可能比其等價 nextAfter 調用快。

特殊情況如下:

參數:
d - 起始浮點值。
返回:
離正無窮大較近的相鄰浮點值。
從以下版本開始:
1.6

nextUp

public static float nextUp(float f)
返回 f 和正無窮大之間與 f 相鄰的浮點值。此方法在語義上等同於 nextAfter(f, Float.POSITIVE_INFINITY);但是,nextUp 實作的返回速度可能比其等價 nextAfter 調用快。

特殊情況如下:

參數:
f - 起始浮點值
返回:
離正無窮大較近的相鄰浮點值。
從以下版本開始:
1.6

scalb

public static double scalb(double d,
                           int scaleFactor)
返回 d × 2scaleFactor,其捨入方式如同將一個正確捨入的浮點值乘以 double 值集合中的一個值。有關浮點值集合的討論,請參閱 Java 語言規範。如果結果的指數在 Double.MIN_EXPONENTDouble.MAX_EXPONENT 之間,則可以正確地計算答案;如果結果的指數大於 Double.MAX_EXPONENT,則返回無窮大。注意,如果結果為 subnormal,則可能丟失精度;也就是說,scalb(x, n) 為 subnormal 時,scalb(scalb(x, n), -n) 可能不等於 x。結果為非 NaN 時,結果的符號將與 d 相同。

特殊情況如下:

參數:
d - 要使用 2 的次方縮放的數。
scaleFactor - 用來縮放 d 的 2 的次方
返回:
d × 2scaleFactor
從以下版本開始:
1.6

scalb

public static float scalb(float f,
                          int scaleFactor)
返回 f × 2scaleFactor,其捨入方式如同將一個正確捨入的浮點值乘以 float 值集合中的一個值。有關浮點值集合的討論,請參閱 Java 語言規範。如果結果的指數在 Float.MIN_EXPONENTFloat.MAX_EXPONENT 之間,則可以正確地計算答案;如果結果的指數大於 Float.MAX_EXPONENT,則返回無窮大。注意,如果結果為 subnormal,則可能丟失精度;也就是說,scalb(x, n) 為 subnormal 時,scalb(scalb(x, n), -n) 可能不等於 x。結果為非 NaN 時,結果的符號將與 f 相同。

特殊情況如下:

參數:
f - 要使用 2 的次方縮放的數。
scaleFactor - 用來縮放 f 的 2 的次方
返回:
f × 2scaleFactor
從以下版本開始:
1.6

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only