StrictMath 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
此類別 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 包含執行基本數值運算的方法,如基本指數函數、對數、平方根及三角函數。
為了確保 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 版本中加入。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
欄位
| 名稱 | Description |
|---|---|
| E |
|
| Pi |
|
| Tau |
|
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
此類別 |
| JniPeerMembers |
取得用於調用此 Java 節點成員的 JNI 元資料。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
方法
| 名稱 | Description |
|---|---|
| Abs(Double) |
回傳某個 |
| Abs(Int32) |
回傳某個 |
| Abs(Int64) |
回傳某個 |
| Abs(Single) |
回傳某個 |
| AbsExact(Int32) |
若某值可精確表示為 ,則回傳數學上的絕對值 |
| AbsExact(Int64) |
若某值可精確表示為 ,則回傳數學上的絕對值 |
| Acos(Double) |
回傳某值的弧餘弦值;回波角度位於0區間。 |
| AddExact(Int32, Int32) |
回傳其參數總和,若結果超出 。 |
| AddExact(Int64, Int64) |
回傳其所有參數的總和,若結果超出 。 |
| Asin(Double) |
回傳一個值的弧正弦;回波角度在 & 負範圍內;從 pi/2 到 pi/2。 |
| Atan(Double) |
回傳值的弧切;回波角度在 & 負範圍內;從 pi/2 到 pi/2。 |
| Atan2(Double, Double) |
回 傳將矩 形座標 ( |
| Cbrt(Double) |
回傳一個 |
| Ceil(Double) |
回傳最小(最接近負無限大) |
| CeilDiv(Int32, Int32) |
回傳大於或等於代數商的最小(最接近負無限大) |
| CeilDiv(Int64, Int32) |
回傳大於或等於代數商的最小(最接近負無限大) |
| CeilDiv(Int64, Int64) |
回傳大於或等於代數商的最小(最接近負無限大) |
| CeilDivExact(Int32, Int32) |
回傳大於或等於代數商的最小(最接近負無限大) |
| CeilDivExact(Int64, Int64) |
回傳大於或等於代數商的最小(最接近負無限大) |
| CeilMod(Int32, Int32) |
回傳參數的 |
| CeilMod(Int64, Int32) |
回傳 和 |
| CeilMod(Int64, Int64) |
回傳參數的 |
| Clamp(Double, Double, Double) |
將數值夾在最小值和最大值之間。 |
| Clamp(Int64, Int32, Int32) |
將數值夾在最小值和最大值之間。 |
| Clamp(Int64, Int64, Int64) |
將數值夾在最小值和最大值之間。 |
| Clamp(Single, Single, Single) |
將數值夾在最小值和最大值之間。 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
此類別 |
| CopySign(Double, Double) |
回傳第一個浮點參數,並以第二個浮點參數的符號。 |
| CopySign(Single, Single) |
回傳第一個浮點參數,並以第二個浮點參數的符號。 |
| Cos(Double) |
返回角度的三角餘弦。 |
| Cosh(Double) |
回傳一個 |
| DecrementExact(Int32) |
回傳遞減一的參數,若結果超出 。 |
| DecrementExact(Int64) |
回傳減少一的參數,若結果超出 。 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
此類別 |
| DivideExact(Int32, Int32) |
回傳參數的商,若結果超出 。 |
| DivideExact(Int64, Int64) |
回傳參數的商,若結果溢出 則 |
| Equals(Object) |
此類別 |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| Exp(Double) |
返回歐拉數 e 的提升至值的 |
| Expm1(Double) |
回來 e<sup>x</sup> &減;1。 |
| Floor(Double) |
回傳最大(最接近正無限大) |
| FloorDiv(Int32, Int32) |
回傳最大(最接近正無限大) |
| FloorDiv(Int64, Int32) |
回傳最大(最接近正無限大) |
| FloorDiv(Int64, Int64) |
回傳最大(最接近正無限大) |
| FloorDivExact(Int32, Int32) |
回傳最大(最接近正無限大) |
| FloorDivExact(Int64, Int64) |
回傳最大(最接近正無限大) |
| FloorMod(Int32, Int32) |
返回論證的 |
| FloorMod(Int64, Int32) |
回傳 和 |
| FloorMod(Int64, Int64) |
返回論證的 |
| Fma(Double, Double, Double) |
回傳三個參數的融合乘法加法;也就是說,回傳前兩個參數與第三個參數相加後,再四捨五入至最 |
| Fma(Single, Single, Single) |
回傳三個參數的融合乘法加法;也就是說,回傳前兩個參數與第三個參數相加後,再四捨五入至最 |
| GetExponent(Double) |
回傳用於表示 |
| GetExponent(Single) |
回傳用於表示 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| Hypot(Double, Double) |
回報 sqrt(x<sup>2</sup> +y<sup>2</sup>),且無中間溢出或下溢。 |
| IEEEremainder(Double, Double) |
依照 IEEE 754 標準規定,計算兩個參數的餘數運算。 |
| IncrementExact(Int32) |
回傳一個增加一的參數,若結果超出 。 |
| IncrementExact(Int64) |
回傳遞減一的參數,若結果超出 。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Log(Double) |
回傳一個值的自然對數(以 |
| Log10(Double) |
回傳一個 |
| Log1p(Double) |
回傳論數和 的自然對數 1. |
| Max(Double, Double) |
返回兩個 |
| Max(Int32, Int32) |
返回兩個 |
| Max(Int64, Int64) |
返回兩個 |
| Max(Single, Single) |
返回兩個 |
| Min(Double, Double) |
傳回兩個 |
| Min(Int32, Int32) |
傳回兩個 |
| Min(Int64, Int64) |
傳回兩個 |
| Min(Single, Single) |
傳回兩個 |
| MultiplyExact(Int32, Int32) |
回傳參數的乘積,若結果溢出 則 |
| MultiplyExact(Int64, Int32) |
回傳參數的乘積,若結果溢出 , |
| MultiplyExact(Int64, Int64) |
回傳參數的乘積,若結果溢出 , |
| MultiplyFull(Int32, Int32) |
回傳參數的精確數學乘積。 |
| MultiplyHigh(Int64, Int64) |
作為兩個 64 位元因子的 128 位元乘積中,最有意義的 64 位元。 |
| NegateExact(Int32) |
回傳參數的否定,若結果溢 |
| NegateExact(Int64) |
回傳參數的否定,若結果溢出 , |
| NextAfter(Double, Double) |
回傳第一個參數旁邊的浮點數,朝向第二個參數方向。 |
| NextAfter(Single, Double) |
回傳第一個參數旁邊的浮點數,朝向第二個參數方向。 |
| NextDown(Double) |
返回相鄰 |
| NextDown(Single) |
返回相鄰 |
| NextUp(Double) |
返回相鄰的 |
| NextUp(Single) |
返回相鄰的 |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| Pow(Double, Double) |
將第一個提出參數的值回傳為第二個參數的冪次。 |
| PowExact(Int32, Int32) |
回傳 |
| PowExact(Int64, Int32) |
回傳 |
| Random() |
回傳 |
| Rint(Double) |
回傳 |
| Round(Double) |
返回最 |
| Round(Single) |
返回最 |
| Scalb(Double, Int32) |
回退與 |
| Scalb(Single, Int32) |
回退與 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
此類別 |
| Signum(Double) |
回傳參數的符號函數;若參數為零,則為零,為1。 |
| Signum(Single) |
回傳參數的符號函數;若參數為零,則為零,為1。 |
| Sin(Double) |
回傳角度的三角正弦。 |
| Sinh(Double) |
返回一個 |
| Sqrt(Double) |
回傳正確四捨五入的正平方根 |
| SubtractExact(Int32, Int32) |
回傳參數的差值,若結果超出 。 |
| SubtractExact(Int64, Int64) |
回傳參數的差額,若結果溢出 , |
| Tan(Double) |
回傳角度的三角切線。 |
| Tanh(Double) |
回傳一個 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToDegrees(Double) |
將以弧度計算的角度轉換為以度為單位的近似等效角度。 |
| ToIntExact(Int64) |
回傳參數的 |
| ToRadians(Double) |
將以度數計的角度轉換為以弧度計的近似角度。 |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| Ulp(Double) |
回傳參數的 ulp 大小。 |
| Ulp(Single) |
回傳參數的 ulp 大小。 |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| UnsignedMultiplyExact(Int32, Int32) |
回傳無符號參數的乘積,若結果超出未符號 |
| UnsignedMultiplyExact(Int64, Int32) |
回傳無符號參數的乘積,若結果超出未符號 |
| UnsignedMultiplyExact(Int64, Int64) |
回傳無符號參數的乘積,若結果超出未符號 |
| UnsignedMultiplyHigh(Int64, Int64) |
返回 |
| UnsignedPowExact(Int32, Int32) |
回傳無符號 |
| UnsignedPowExact(Int64, Int32) |
回傳無符號 |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
此類別 |
| IJavaPeerable.Finalized() |
此類別 |
| IJavaPeerable.JniObjectReferenceControlBlock |
此類別 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
此類別 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此類別 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
此類別 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
此類別 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |