語言

StrictMath 類別

定義

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

[Android.Runtime.Register("java/lang/StrictMath", DoNotGenerateAcw=true)]
public sealed class StrictMath : Java.Lang.Object
[<Android.Runtime.Register("java/lang/StrictMath", DoNotGenerateAcw=true)>]
type StrictMath = class
    inherit Object
繼承
StrictMath
屬性

備註

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

為了確保 Java 程式的可攜性,本套件中部分數值函式的定義要求它們產生與某些已發表演算法相同的結果。 這些演算法可從知名網路函式庫netlib取得,稱為「免費散布數學函式庫」套件。 fdlibmhttps://www.netlib.org/fdlibm/ 這些以 C 語言撰寫的演算法,需理解為可轉譯成 Java,並依照 Java 算術規則執行所有浮點與整數運算。 以下轉譯方式用於音譯:

<ul><li>在 C 中提取並設定 64 位double元的高低半,是利用Java平台方法進行位元轉換表達:Double#doubleToRawLongBits(double) 從 {@code double 轉為 long},以及 Double#longBitsToDouble(long) {@code long 轉為double}。

<Li>C 中的無符號int值會映射到 Java 中的有號int值,並更新操作以複製無符號語意,因為同一文字操作的結果會有所不同。 例如,>>未符號 C 值的位移會被>>>有符號 Java 值的位移取代。 對無符號 C 值(<, <=, >, >=) 的大小比較被語意等價的呼叫 Integer#compareUnsigned(int, int) compareUnsigned所取代。 </ul>

Java 數學函式庫的定義是基於fdlibm版本 5.3。 若 fdlibm 提供多個函式定義(例如 acos),則使用「IEEE 754 核心函式」版本(位於名稱以字母 e開頭的檔案中)。 需要fdlibm語意的方法包括 sin、 cos、 tan、 asinacosatanexploglog10cbrtatan2powsinhcoshtanhhypotexpm1log1p。

該平台使用帶有整數和長原始型態的符號二補數整數運算。 開發者應選擇原始型別,以確保算術運算能持續產生正確結果,有時這意味著運算不會超出計算值範圍。 最佳做法是選擇原始型態與演算法以避免溢位。 當大小為 int 或 long 且需要偵測溢位錯誤時,名稱以 和 Exact 結尾ArithmeticException的方法會在結果溢出時拋出。

<h2>IEEE 754 推薦操作>IEEE 754 推薦操作</h2>

本 java.lang.Math Math 課程討論所選 Math 方法 StrictMath 的實施品質標準與 IEEE 754 建議操作的關聯。

在 1.3 版本中加入。

Java 文件 java.lang.StrictMath。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

欄位

名稱 Description
E

double與自然對數的底邊 e 最接近的值。

Pi

double比其他任何值都更接近圓周率(π),即圓周長與直徑的比值。

Tau

double比其他任何值都更接近 τ(τ),即圓周長與半徑的比值。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

(繼承來源 JavaObject)
JniPeerMembers

取得用於調用此 Java 節點成員的 JNI 元資料。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)

方法

名稱 Description
Abs(Double)

回傳某個 double 值的絕對值。

Abs(Int32)

回傳某個 int 值的絕對值。

Abs(Int64)

回傳某個 long 值的絕對值。

Abs(Single)

回傳某個 float 值的絕對值。

AbsExact(Int32)

若某值可精確表示為 ,則回傳數學上的絕對值int;若結果超出正int值範圍,則拋出ArithmeticException。int

AbsExact(Int64)

若某值可精確表示為 ,則回傳數學上的絕對值long;若結果超出正long值範圍,則拋出ArithmeticException。long

Acos(Double)

回傳某值的弧餘弦值;回波角度位於0區間。

AddExact(Int32, Int32)

回傳其參數總和,若結果超出 。int

AddExact(Int64, Int64)

回傳其所有參數的總和,若結果超出 。long

Asin(Double)

回傳一個值的弧正弦;回波角度在 & 負範圍內;從 pi/2 到 pi/2。

Atan(Double)

回傳值的弧切;回波角度在 & 負範圍內;從 pi/2 到 pi/2。

Atan2(Double, Double)

回 傳將矩 形座標 (x,nbsp;y) 轉換為極座標 (r, theta)。

Cbrt(Double)

回傳一個 double 值的立方根。

Ceil(Double)

回傳最小(最接近負無限大) double 且大於或等於該參數且等於數學整數的值。

CeilDiv(Int32, Int32)

回傳大於或等於代數商的最小(最接近負無限大) int 值。

CeilDiv(Int64, Int32)

回傳大於或等於代數商的最小(最接近負無限大) long 值。

CeilDiv(Int64, Int64)

回傳大於或等於代數商的最小(最接近負無限大) long 值。

CeilDivExact(Int32, Int32)

回傳大於或等於代數商的最小(最接近負無限大) int 值。

CeilDivExact(Int64, Int64)

回傳大於或等於代數商的最小(最接近負無限大) long 值。

CeilMod(Int32, Int32)

回傳參數的 int 上限模數。

CeilMod(Int64, Int32)

回傳 和 longint 參數的上限模數。

CeilMod(Int64, Int64)

回傳參數的 long 上限模數。

Clamp(Double, Double, Double)

將數值夾在最小值和最大值之間。

Clamp(Int64, Int32, Int32)

將數值夾在最小值和最大值之間。

Clamp(Int64, Int64, Int64)

將數值夾在最小值和最大值之間。

Clamp(Single, Single, Single)

將數值夾在最小值和最大值之間。

Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

(繼承來源 JavaObject)
CopySign(Double, Double)

回傳第一個浮點參數,並以第二個浮點參數的符號。

CopySign(Single, Single)

回傳第一個浮點參數,並以第二個浮點參數的符號。

Cos(Double)

返回角度的三角餘弦。

Cosh(Double)

回傳一個 double 值的雙曲餘弦。

DecrementExact(Int32)

回傳遞減一的參數,若結果超出 。int

DecrementExact(Int64)

回傳減少一的參數,若結果超出 。long

Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

(繼承來源 JavaObject)
DivideExact(Int32, Int32)

回傳參數的商,若結果超出 。int

DivideExact(Int64, Int64)

回傳參數的商,若結果溢出 則 long拋出例外。

Equals(Object)

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
Exp(Double)

返回歐拉數 e 的提升至值的 double 冪次方。

Expm1(Double)

回來 e<sup>x</sup> &減;1。

Floor(Double)

回傳最大(最接近正無限大) double 且小於或等於該參數且等於數學整數的值。

FloorDiv(Int32, Int32)

回傳最大(最接近正無限大) int 且小於或等於代數商的值。

FloorDiv(Int64, Int32)

回傳最大(最接近正無限大) long 且小於或等於代數商的值。

FloorDiv(Int64, Int64)

回傳最大(最接近正無限大) long 且小於或等於代數商的值。

FloorDivExact(Int32, Int32)

回傳最大(最接近正無限大) int 且小於或等於代數商的值。

FloorDivExact(Int64, Int64)

回傳最大(最接近正無限大) long 且小於或等於代數商的值。

FloorMod(Int32, Int32)

返回論證的 int 底模數。

FloorMod(Int64, Int32)

回傳 和 long 參數的int底模數。

FloorMod(Int64, Int64)

返回論證的 long 底模數。

Fma(Double, Double, Double)

回傳三個參數的融合乘法加法;也就是說,回傳前兩個參數與第三個參數相加後,再四捨五入至最 double接近的 。

Fma(Single, Single, Single)

回傳三個參數的融合乘法加法;也就是說,回傳前兩個參數與第三個參數相加後,再四捨五入至最 float接近的 。

GetExponent(Double)

回傳用於表示 double的無偏指數。

GetExponent(Single)

回傳用於表示 float的無偏指數。

GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
Hypot(Double, Double)

回報 sqrt(x<sup>2</sup> +y<sup>2</sup>),且無中間溢出或下溢。

IEEEremainder(Double, Double)

依照 IEEE 754 標準規定,計算兩個參數的餘數運算。

IncrementExact(Int32)

回傳一個增加一的參數,若結果超出 。int

IncrementExact(Int64)

回傳遞減一的參數,若結果超出 。long

JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Log(Double)

回傳一個值的自然對數(以 double 為底)。

Log10(Double)

回傳一個 double 值的底數 10 對數。

Log1p(Double)

回傳論數和 的自然對數 1.

Max(Double, Double)

返回兩個 double 值中較大的那個。

Max(Int32, Int32)

返回兩個 int 值中較大的那個。

Max(Int64, Int64)

返回兩個 long 值中較大的那個。

Max(Single, Single)

返回兩個 float 值中較大的那個。

Min(Double, Double)

傳回兩個 double 值的較小值。

Min(Int32, Int32)

傳回兩個 int 值的較小值。

Min(Int64, Int64)

傳回兩個 long 值的較小值。

Min(Single, Single)

傳回兩個 float 值的較小值。

MultiplyExact(Int32, Int32)

回傳參數的乘積,若結果溢出 則 int拋出例外。

MultiplyExact(Int64, Int32)

回傳參數的乘積,若結果溢出 , long則拋出例外。

MultiplyExact(Int64, Int64)

回傳參數的乘積,若結果溢出 , long則拋出例外。

MultiplyFull(Int32, Int32)

回傳參數的精確數學乘積。

MultiplyHigh(Int64, Int64)

作為兩個 64 位元因子的 128 位元乘積中,最有意義的 64 位元。long

NegateExact(Int32)

回傳參數的否定,若結果溢 int出 ,則拋出例外。

NegateExact(Int64)

回傳參數的否定,若結果溢出 , long則拋出例外。

NextAfter(Double, Double)

回傳第一個參數旁邊的浮點數,朝向第二個參數方向。

NextAfter(Single, Double)

回傳第一個參數旁邊的浮點數,朝向第二個參數方向。

NextDown(Double)

返回相鄰 d 的浮點值,方向為負無限遠。

NextDown(Single)

返回相鄰 f 的浮點值,方向為負無限遠。

NextUp(Double)

返回相鄰的 d 浮點數值,方向為正無限遠。

NextUp(Single)

返回相鄰的 f 浮點數值,方向為正無限遠。

Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
Pow(Double, Double)

將第一個提出參數的值回傳為第二個參數的冪次。

PowExact(Int32, Int32)

回傳 x 提升到 的冪次 n方,若結果超出 , int則拋出例外。

PowExact(Int64, Int32)

回傳 x 提升到 的 n冪次方,若結果超出 , long則拋出例外。

Random()

回傳 double 一個正符號的值,大小 0.0 於等於且小於 1.0。

Rint(Double)

回傳 double 與參數值最接近且等於數學整數的值。

Round(Double)

返回最 long 接近論證的結果,平局四捨五入至正無限大。

Round(Single)

返回最 int 接近論證的結果,平局四捨五入至正無限大。

Scalb(Double, Int32)

回退與d乘以 2<個 sup>scaleFactor</sup> 四捨五入,彷彿由一個正確四捨五入的浮點乘法完成。

Scalb(Single, Int32)

回退與f乘以 2<個 sup>scaleFactor</sup> 四捨五入,彷彿由一個正確四捨五入的浮點乘法完成。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

(繼承來源 JavaObject)
Signum(Double)

回傳參數的符號函數;若參數為零,則為零,為1。

Signum(Single)

回傳參數的符號函數;若參數為零,則為零,為1。

Sin(Double)

回傳角度的三角正弦。

Sinh(Double)

返回一個 double 值的雙曲正弦。

Sqrt(Double)

回傳正確四捨五入的正平方根 double 值。

SubtractExact(Int32, Int32)

回傳參數的差值,若結果超出 。int

SubtractExact(Int64, Int64)

回傳參數的差額,若結果溢出 , long則拋出例外。

Tan(Double)

回傳角度的三角切線。

Tanh(Double)

回傳一個 double 值的雙曲切線。

ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToDegrees(Double)

將以弧度計算的角度轉換為以度為單位的近似等效角度。

ToIntExact(Int64)

回傳參數的long值,若值超出 。int

ToRadians(Double)

將以度數計的角度轉換為以弧度計的近似角度。

ToString()

回傳物件的字串表示。

(繼承來源 Object)
Ulp(Double)

回傳參數的 ulp 大小。

Ulp(Single)

回傳參數的 ulp 大小。

UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
UnsignedMultiplyExact(Int32, Int32)

回傳無符號參數的乘積,若結果超出未符號 int參數 ,則拋出例外。

UnsignedMultiplyExact(Int64, Int32)

回傳無符號參數的乘積,若結果超出未符號 long參數 ,則拋出例外。

UnsignedMultiplyExact(Int64, Int64)

回傳無符號參數的乘積,若結果超出未符號 long參數 ,則拋出例外。

UnsignedMultiplyHigh(Int64, Int64)

返回 long 為兩個無號 64 位元因子的無號 128 位元乘積中最有意義的 64 位元。

UnsignedPowExact(Int32, Int32)

回傳無符號 x ,提升至的冪次方 n,若結果超出無符號 int,則拋出例外。

UnsignedPowExact(Int64, Int32)

回傳無符號 x ,提升至的冪次方 n,若結果超出無符號 long,則拋出例外。

Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

(繼承來源 JavaObject)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

此類別 StrictMath 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於