共用方式為


BigInteger 類別

定義

不可變的任意精確度整數。

[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
繼承
BigInteger
屬性
實作

備註

不可變的任意精確度整數。 所有作業的行為就像 BigIntegers 是以兩個補碼表示法來表示(例如 Java 的基本整數類型)。 BigInteger 提供所有 Java 基本整數運算符的類比,以及來自 java.lang.Math 的所有相關方法。 此外,BigInteger 提供模組化算術、GCD 計算、靈長性測試、質數產生、位操作,以及一些其他運算的運算。

算術運算的語意完全符合 Java 整數算術運算子的語意,如 Java 語言規格中所定義。 例如,除以零會 ArithmeticException擲回 ,而負除以正數則會產生負數(或零) 餘數。

班次作業的語意會延伸 Java 的班次運算符,以允許負移距離。 具有負移距離的右移會導致左移,反之亦然。 省略不帶正負號的右移運算元 (>>>) ,因為此作業只對固定大小的單字有意義,而不適用於在概念上具有無限數目前置虛擬符號位的表示法。

位邏輯運算的語意完全符合 Java 位整數運算符的語意。 二元運算子 (andorxor) 會在執行作業之前,隱含地在兩個操作數的較短時間上執行符號延伸。

比較作業會執行帶正負號的整數比較,類似於 Java 的關係型和等號運算子所執行的比較。

模組化算術運算提供給計算殘渣、執行指數運算,以及計算乘法反函數。 這些方法一律會在和 (modulus - 1)之間0傳回非負結果。

位運算會在其操作數的兩個補碼表示法中,以單一位運算。 如有必要,操作數會以符號延伸,使其包含指定的位。 單一位作業都無法產生 BigInteger,其與所操作 BigInteger 不同的符號,因為它們只會影響單一位,而這個類別所提供的任意大型抽象概念可確保在每個 BigInteger 前面會有無限數量的「虛擬符號位」。

為了簡潔明瞭,虛擬程式代碼會在整個 BigInteger 方法的描述中使用。 虛擬程式代碼表達式 (i + j) 是「BigInteger 的速記,其值為 BigInteger 加上 BigInteger ij的值」。 虛擬程式代碼表達式 (i == j)true 「如果 BigInteger 代表與 BigInteger ij相同的值,則為縮寫。」 其他虛擬程式代碼表達式會以類似的方式解譯。

當傳遞任何輸入參數的 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中新增。

java.math.BigIntegerJava 檔。

此頁面的部分是根據 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/supnumBits<>> - 1),內含。

BigInteger(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

BigInteger(String)

將 BigInteger 的十進位字串表示法轉譯為 BigInteger。

BigInteger(String, Int32)

將指定基數中 BigInteger 的 String 表示法轉譯為 BigInteger。

屬性

Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
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,其值為 (this + val)

And(BigInteger)

傳回 BigInteger,其值為 (this & val)

AndNot(BigInteger)

傳回 BigInteger,其值為 (this & ~val)

BitCount()

傳回這兩個 BigInteger 之補碼表示法中與符號位不同的位數目。

BitLength()

傳回這個 BigInteger 之最小兩個補碼表示法中的位數, <em>排除</em> 符號位。

ByteValue()

傳回指定數字的值做為 byte

(繼承來源 Number)
ByteValueExact()

將這個 BigInteger 轉換成 byte,檢查是否有遺失的資訊。

ClearBit(Int32)

傳回 BigInteger,其值相當於已清除指定位的 BigInteger。

Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
CompareTo(BigInteger)

比較這個 BigInteger 與指定的 BigInteger。

Dispose()

不可變的任意精確度整數。

(繼承來源 Object)
Dispose(Boolean)

不可變的任意精確度整數。

(繼承來源 Object)
Divide(BigInteger)

傳回 BigInteger,其值為 (this / val)

DivideAndRemainder(BigInteger)

傳回兩個 BigIntegers 的陣列,後面 (this / val) 接著 (this % val)

DoubleValue()

將這個 BigInteger 轉換為 double

Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
FlipBit(Int32)

傳回 BigInteger,其值相當於這個 BigInteger,並翻轉指定的位。

FloatValue()

將這個 BigInteger 轉換為 float

Gcd(BigInteger)

傳回 BigInteger,其值是 和abs(val)的最大通用除abs(this)數。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
IntValue()

將這個 BigInteger 轉換為 int

IntValueExact()

將這個 BigInteger 轉換為 int,並檢查遺失的資訊。

IsProbablePrime(Int32)

true如果這個 BigInteger 可能是質數,則傳回 ,false如果絕對是複合的。

JavaFinalize()

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
LongValue()

將這個 BigInteger 轉換為 long

LongValueExact()

將這個 BigInteger 轉換成 long,檢查是否有遺失的資訊。

Max(BigInteger)

傳回這個 BigInteger 和 val的最大值。

Min(BigInteger)

傳回這個 BigInteger 和 val的最小值。

Mod(BigInteger)

傳回 BigInteger,其值為 (this mod m

ModInverse(BigInteger)

傳回 BigInteger,其值為 (this<sup-1></sup>mod m)

ModPow(BigInteger, BigInteger)

傳回 BigInteger,其值為 (this<sup>exponent</sup> mod m)

Multiply(BigInteger)

傳回 BigInteger,其值為 (this * val)

Negate()

傳回 BigInteger,其值為 (-this)

NextProbablePrime()

傳回大於這個 BigInteger 的第一個整數,可能是質數。

Not()

傳回 BigInteger,其值為 (~this)

Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Or(BigInteger)

傳回 BigInteger,其值為 (this | val)

Pow(Int32)

傳回 BigInteger,其值為 (this<sup>exponent</sup>)

ProbablePrime(Int32, Random)

傳回可能是質數的正 BigInteger,具有指定的 bitLength。

Remainder(BigInteger)

傳回 BigInteger,其值為 (this % val)

SetBit(Int32)

傳回 BigInteger,其值相當於具有指定位集的這個 BigInteger。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
ShiftLeft(Int32)

傳回 BigInteger,其值為 (this << n)

ShiftRight(Int32)

傳回 BigInteger,其值為 (this >> n)

ShortValue()

傳回指定數字的值做為 short

(繼承來源 Number)
ShortValueExact()

將這個 BigInteger 轉換成 short,檢查是否有遺失的資訊。

Signum()

傳回這個 BigInteger 的符號函式。

Sqrt()

傳回這個 BigInteger 的整數平方根。

SqrtAndRemainder()

傳回兩個 BigIntegers 陣列,分別包含的整數平方根sthis和其餘數this - s*s

Subtract(BigInteger)

傳回 BigInteger,其值為 (this - val)

TestBit(Int32)

true只有在設定指定的位時,才會傳回 。

ToArray<T>()

不可變的任意精確度整數。

(繼承來源 Object)
ToByteArray()

傳回位元組陣列,其中包含這個 BigInteger 的兩個補碼表示法。

ToString()

傳回物件的字串表示。

(繼承來源 Object)
ToString(Int32)

傳回指定基數中這個 BigInteger 的 String 表示。

UnregisterFromRuntime()

不可變的任意精確度整數。

(繼承來源 Object)
ValueOf(Int64)

傳回 BigInteger,其值等於指定 long之的值。

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,其值為 (this ^ val)

明確介面實作

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)

不可變的任意精確度整數。

適用於