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 (exclusive) 到 +2<sup<>Integer.MAX_VALUE/supInteger.MAX_VALUE>>< (exclusive) 的值,而且可能支援該範圍以外的值。><
ArithmeticException當 BigInteger 建構函式或方法產生超出支援範圍的值時,會擲回 。
可能的主要值範圍有限,而且可能小於的完整支援正數範圍 BigInteger。 範圍必須至少為 1 到 2<sup>500000000</sup>。
已在1.1中新增。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
| BigInteger(Byte[]) |
將位元組陣列,其中包含 BigInteger 的兩個補碼二進位表示法轉譯成 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/sup |
| BigInteger(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。 |
| BigInteger(String) |
將 BigInteger 的十進位字串表示法轉譯為 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) |
傳回 BigInteger,其值為 |
| And(BigInteger) |
傳回 BigInteger,其值為 |
| AndNot(BigInteger) |
傳回 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) |
傳回 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) |
傳回 BigInteger,其值為 |
| ModInverse(BigInteger) |
傳回 BigInteger,其值為 |
| ModPow(BigInteger, BigInteger) |
傳回 BigInteger,其值為 |
| Multiply(BigInteger) |
傳回 BigInteger,其值為 |
| Negate() |
傳回 BigInteger,其值為 |
| NextProbablePrime() |
傳回大於這個 |
| Not() |
傳回 BigInteger,其值為 |
| Notify() |
喚醒正在等候此物件監視器的單一線程。 (繼承來源 Object) |
| NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
| Or(BigInteger) |
傳回 BigInteger,其值為 |
| Pow(Int32) |
傳回 BigInteger,其值為 |
| ProbablePrime(Int32, Random) |
傳回可能是質數的正 BigInteger,具有指定的 bitLength。 |
| Remainder(BigInteger) |
傳回 BigInteger,其值為 |
| SetBit(Int32) |
傳回 BigInteger,其值相當於具有指定位集的這個 BigInteger。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| ShiftLeft(Int32) |
傳回 BigInteger,其值為 |
| ShiftRight(Int32) |
傳回 BigInteger,其值為 |
| ShortValue() |
傳回指定數字的值做為 |
| ShortValueExact() |
將這個 |
| Signum() |
傳回這個 BigInteger 的符號函式。 |
| Sqrt() |
傳回這個 BigInteger 的整數平方根。 |
| SqrtAndRemainder() |
傳回兩個 BigIntegers 陣列,分別包含的整數平方根 |
| Subtract(BigInteger) |
傳回 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) |
傳回 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) |
不可變的任意精確度整數。 |