BigInteger 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
不可變的任意精確度整數。
[Android.Runtime.Register("java/math/BigInteger", DoNotGenerateAcw=true)]
public class BigInteger : Java.Lang.Number, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IComparable
[<Android.Runtime.Register("java/math/BigInteger", DoNotGenerateAcw=true)>]
type BigInteger = class
inherit Number
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IComparable
- 繼承
- 屬性
- 實作
備註
不可變的任意精確度整數。 所有作業的行為就像 BigIntegers 以兩個補數標記法標記法 (,例如 JAVA 的基本整數類型) 。 BigInteger 提供所有 JAVA 基本整數運算子的類比,以及來自 java.lang.Math 的所有相關方法。 此外,BigInteger 提供模組化算術、GCD 計算、主要測試、質數產生、位操作,以及一些其他作業的作業。
算數運算的語意完全符合 JAVA 整數算術運算子的語意,如 JAVA 語言規格中所定義。 例如,除以零會擲回 ArithmeticException
,而負數除以正數會產生負數 (或零) 餘數。
班次作業的語意會擴充 JAVA 的班次運算子,以允許負移距離。 具有負移距離的右移位會導致左移,反之亦然。 省略不帶正負號右移運算子 (>>>
) ,因為此作業對於固定大小的字組而言才有意義,而不是在概念上具有無限數目前置虛擬符號位的標記法。
位邏輯運算的語意完全模擬 JAVA 的位整數運算子。 二進位運算子 (and
、 or
) xor
在執行作業之前,隱含地在兩個運算元的較短時間上執行符號延伸。
比較作業會執行帶正負號的整數比較,類似于 JAVA 的關聯式和相等運算子所執行的比較。
提供模組化算數運算來計算運算、執行指數,以及計算乘法反向運算。 這些方法一律會在 和 (modulus - 1)
之間 0
傳回非負值結果。
位作業會在兩個運算元之補數標記法的單一位上運作。 如有必要,運算元會以符號擴充,使其包含指定的位。 單一位作業都無法產生具有與所操作 BigInteger 不同符號的 BigInteger,因為它們只會影響單一位,而且這個類別所提供的任意大型抽象概念可確保在每個 BigInteger 前面有無限的「虛擬符號位」。
為了簡潔明瞭,虛擬程式碼會在整個 BigInteger 方法的描述中使用。 虛擬程式碼運算式 (i + j)
是「BigInteger 的縮寫,其值為 BigInteger 加上 BigInteger i
j
的值」。 虛擬程式碼運算式 (i == j)
是 「 true
只有在 BigInteger 代表與 BigInteger i
j
相同的值時,才為 。」 其他虛擬程式碼運算式會以類似的方式解譯。
當傳遞任何輸入參數的 Null 物件參考時,這個類別中的所有方法和建構函式都會擲 NullPointerException
回。
BigInteger 必須支援範圍 -2 < sup/sup Integer.MAX_VALUE
><> (獨佔) 到 +2 < sup Integer.MAX_VALUE
>< /sup > (獨佔) 的值,而且可能支援該範圍以外的值。
ArithmeticException
當 BigInteger 建構函式或方法產生超出支援範圍的值時,會擲回 。
可能質值的範圍有限,而且可能小於 的完整支援正數範圍 BigInteger
。 範圍必須至少為 1 到 2 < sup > 500000000 < /sup > 。
已在 1.1 中新增。
的 java.math.BigInteger
JAVA 檔。
此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。
建構函式
BigInteger(Byte[]) |
將位元組陣列轉譯成 BigInteger 的兩個補數二進位標記法。 |
BigInteger(Byte[], Int32, Int32) |
將位元組子陣列轉譯成 BigInteger 的兩個補數二進位標記法。 |
BigInteger(Int32, Byte[]) |
將 BigInteger 的符號大小標記法轉譯成 BigInteger。 |
BigInteger(Int32, Byte[], Int32, Int32) |
將 BigInteger 的符號大小標記法轉譯成 BigInteger。 |
BigInteger(Int32, Int32, Random) |
使用指定的 bitLength,建構可能為質數的隨機產生的正 BigInteger。 |
BigInteger(Int32, Random) |
建構隨機產生的 BigInteger,並統一分散到範圍 0 到 (2 < sup <> |
BigInteger(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 標記法時使用的建構函式;由執行時間呼叫。 |
BigInteger(String) |
將 BigInteger 的十進位 String 標記法轉譯成 BigInteger。 |
BigInteger(String, Int32) |
將指定基數中 BigInteger 的 String 標記法轉譯成 BigInteger。 |
屬性
Class |
傳回這個 |
Handle |
基礎 Android 實例的控制碼。 (繼承來源 Object) |
JniIdentityHashCode |
不可變的任意精確度整數。 (繼承來源 Object) |
JniPeerMembers |
不可變的任意精確度整數。 |
LowestSetBit |
傳回這個 BigInteger 中最右邊 (最低順序) 一個位的索引, (最右邊一個位) 的零位數。 |
One |
BigInteger 常數一。 |
PeerReference |
不可變的任意精確度整數。 (繼承來源 Object) |
Ten |
BigInteger 常數十。 |
ThresholdClass |
此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。 |
ThresholdType |
此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。 |
Two |
BigInteger 常數二。 |
Zero |
BigInteger 常數零。 |
方法
Abs() |
傳回 BigInteger,其值為這個 BigInteger 的絕對值。 |
Add(BigInteger) |
傳回其值為 |
And(BigInteger) |
傳回其值為 |
AndNot(BigInteger) |
傳回其值為 |
BitCount() |
傳回這兩個 BigInteger 之補數標記法中與符號位不同的位數。 |
BitLength() |
傳回這個 BigInteger 之最小二補數標記法中的位數, < em > 排除 < /em > 符號位。 |
ByteValue() |
傳回指定數位的值做為 |
ByteValueExact() |
將這個 |
ClearBit(Int32) |
傳回 BigInteger,其值相當於已清除指定位的這個 BigInteger。 |
Clone() |
建立並傳回這個 物件的複本。 (繼承來源 Object) |
CompareTo(BigInteger) |
比較這個 BigInteger 與指定的 BigInteger。 |
Dispose() |
不可變的任意精確度整數。 (繼承來源 Object) |
Dispose(Boolean) |
不可變的任意精確度整數。 (繼承來源 Object) |
Divide(BigInteger) |
傳回其值為 |
DivideAndRemainder(BigInteger) |
傳回兩個 BigIntegers 的陣列, |
DoubleValue() |
將此 BigInteger 轉換為 |
Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
FlipBit(Int32) |
會傳回 BigInteger,其值相當於這個 BigInteger,並具有指定的位翻轉。 |
FloatValue() |
將此 BigInteger 轉換為 |
Gcd(BigInteger) |
傳回 BigInteger,其值為 和 |
GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
IntValue() |
將這個 BigInteger 轉換為 |
IntValueExact() |
將這個 |
IsProbablePrime(Int32) |
|
JavaFinalize() |
當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。 (繼承來源 Object) |
LongValue() |
將此 BigInteger 轉換為 |
LongValueExact() |
將這個 |
Max(BigInteger) |
傳回這個 BigInteger 和 |
Min(BigInteger) |
傳回這個 BigInteger 和 |
Mod(BigInteger) |
傳回其值為 |
ModInverse(BigInteger) |
傳回 BigInteger,其值為 |
ModPow(BigInteger, BigInteger) |
傳回其值為 |
Multiply(BigInteger) |
傳回其值為 |
Negate() |
傳回其值為 |
NextProbablePrime() |
傳回大於可能 |
Not() |
傳回其值為 |
Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
Or(BigInteger) |
傳回其值為 |
Pow(Int32) |
傳回其值為 |
ProbablePrime(Int32, Random) |
傳回可能為質數的正 BigInteger,且具有指定的 bitLength。 |
Remainder(BigInteger) |
傳回其值為 |
SetBit(Int32) |
傳回 BigInteger,其值相當於具有指定位集的這個 BigInteger。 |
SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
ShiftLeft(Int32) |
傳回其值為 |
ShiftRight(Int32) |
傳回其值為 |
ShortValue() |
傳回指定數位的值做為 |
ShortValueExact() |
將這個 |
Signum() |
傳回這個 BigInteger 的符號函式。 |
Sqrt() |
傳回這個 BigInteger 的整數平方根。 |
SqrtAndRemainder() |
分別傳回兩個 BigIntegers 的陣列,其中包含 的 |
Subtract(BigInteger) |
傳回其值為 |
TestBit(Int32) |
只有在設定指定的位時,才會傳 |
ToArray<T>() |
不可變的任意精確度整數。 (繼承來源 Object) |
ToByteArray() |
傳回位元組陣列,其中包含這個 BigInteger 的兩個補數標記法。 |
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
ToString(Int32) |
傳回指定基數中這個 BigInteger 的 String 表示。 |
UnregisterFromRuntime() |
不可變的任意精確度整數。 (繼承來源 Object) |
ValueOf(Int64) |
傳回 BigInteger,其值等於指定 |
Wait() |
讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 >< (繼承來源 Object) |
Wait(Int64) |
讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <> (繼承來源 Object) |
Wait(Int64, Int32) |
讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <> (繼承來源 Object) |
Xor(BigInteger) |
傳回其值為 |
明確介面實作
IComparable.CompareTo(Object) |
不可變的任意精確度整數。 |
IJavaPeerable.Disposed() |
不可變的任意精確度整數。 (繼承來源 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
不可變的任意精確度整數。 (繼承來源 Object) |
IJavaPeerable.Finalized() |
不可變的任意精確度整數。 (繼承來源 Object) |
IJavaPeerable.JniManagedPeerState |
不可變的任意精確度整數。 (繼承來源 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
不可變的任意精確度整數。 (繼承來源 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
不可變的任意精確度整數。 (繼承來源 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
不可變的任意精確度整數。 (繼承來源 Object) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
不可變的任意精確度整數。 |
GetJniTypeName(IJavaPeerable) |
不可變的任意精確度整數。 |