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) |
不可變的任意精確度整數。 |