言語

BigInteger クラス

定義

変更できない任意の有効桁数の整数。

[Android.Runtime.Register("java/math/BigInteger", DoNotGenerateAcw=true)]
public class BigInteger : Java.Lang.Number, IDisposable, 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 が 2 の補数表記 (Javaのプリミティブ整数型など) で表されたかのように動作します。 BigInteger は、Javaのすべてのプリミティブ整数演算子と、java.lang.Math から関連するすべてのメソッドにアナログを提供します。 さらに、BigInteger は、モジュール式算術演算、GCD 計算、原始性テスト、素数生成、ビット操作、およびその他のいくつかのその他の操作に対する演算を提供します。

算術演算のセマンティクスは、「Java言語仕様」で定義されているように、Javaの整数算術演算子のセマンティクスを正確に模倣します。 たとえば、0 で除算すると ArithmeticExceptionがスローされ、負の除算が正の場合、負 (またはゼロ) の剰余が生成されます。

シフト操作のセマンティクスは、Javaのシフト演算子のセマンティクスを拡張して、負のシフト距離を可能にします。 シフト距離が負の右シフトの場合は左シフトになり、その逆も同様です。 符号なし右シフト演算子 (>>>) は省略されます。これは、この操作は固定サイズの単語に対してのみ有効であり、概念的には無限の数の先頭の仮想符号ビットを持つ表現には適していないためです。

ビットごとの論理演算のセマンティクスは、Javaのビットごとの整数演算子のセマンティクスを正確に模倣します。 二項演算子 (andorxor) は、演算を実行する前に、2 つのオペランドの短い方で符号拡張を暗黙的に実行します。

比較操作では、符号付き整数比較が実行されます。これは、Javaのリレーショナル演算子と等値演算子によって実行されるものと似ています。

残渣の計算、指数化の実行、乗乗逆の計算を行うために、モジュール式の算術演算が提供されます。 これらのメソッドは常に、 0(modulus - 1)の間で負でない結果を返します。

ビット演算は、2 つのオペランドの補数表現の 1 ビットで動作します。 必要に応じて、オペランドは符号拡張され、指定されたビットが格納されます。 単一ビットの操作では、操作対象の BigInteger とは異なる符号を持つ BigInteger を生成することはできません。このクラスによって提供される任意の大きな抽象化により、概念的には各 BigInteger の前に無限に多くの "仮想符号ビット" が存在することが保証されます。

簡潔でわかりやすくするために、BigInteger メソッドの説明全体で擬似コードが使用されます。 擬似コード式 (i + j) は、"BigInteger の値が BigInteger i の値に BigInteger jの値を加えたもの) の短縮形です。 擬似コード式(i == j)は、"BigInteger trueが BigInteger iと同じ値を表す場合にのみj" の短縮形です。 その他の擬似コード式も同様に解釈されます。

このクラスのすべてのメソッドとコンストラクターは、入力パラメーターに null オブジェクト参照が渡されたときに NullPointerException をスローします。

BigInteger では、-2<sup>Integer.MAX_VALUE</sup> (排他) ~ +2<sup>Integer.MAX_VALUE</sup> (排他) の値をサポートする必要があり、その範囲外の値をサポートできます。

BigInteger コンストラクターまたはメソッドがサポートされている範囲外の値を生成すると、 ArithmeticException がスローされます。

素数の範囲は限られており、サポートされている BigIntegerの完全な正の範囲より小さい場合があります。 範囲は 1 ~ 2 <sup>5000000000</sup> にする必要があります。

1.1 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
BigInteger(Byte[], Int32, Int32)

BigInteger の 2 つの補数バイナリ表現を含むバイト サブ配列を BigInteger に変換します。

BigInteger(Byte[])

BigInteger の 2 つの補数バイナリ表現を含むバイト配列を BigInteger に変換します。

BigInteger(Int32, Byte[], Int32, Int32)

BigInteger の符号の大きさ表現を BigInteger に変換します。

BigInteger(Int32, Byte[])

BigInteger の符号の大きさ表現を BigInteger に変換します。

BigInteger(Int32, Int32, Random)

指定された bitLength を使用して、おそらく素数であるランダムに生成された正の BigInteger を構築します。

BigInteger(Int32, Random)

ランダムに生成された BigInteger を構築し、0 ~ (2<sup>numBits</sup> - 1) の範囲に均一に分散します。

BigInteger(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

BigInteger(String, Int32)

指定した基数の BigInteger の文字列形式を BigInteger に変換します。

BigInteger(String)

BigInteger の 10 進数の文字列形式を BigInteger に変換します。

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

変更できない任意の有効桁数の整数。

(継承元 JavaObject)
JniPeerMembers

この型の JNI ピア メンバーを取得します。

LowestSetBit

この BigInteger の右端 (最下位) の 1 ビットのインデックス (右端の 1 ビットの右側にある 0 ビットの数) を返します。

One

BigInteger 定数 1。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
Ten

BigInteger 定数 10。

ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

Two

BigInteger 定数 2。

Zero

BigInteger 定数 0。

メソッド

名前 説明
Abs()

この BigInteger の絶対値を値とする BigInteger を返します。

Add(BigInteger)

値が (this + val)の BigInteger を返します。

And(BigInteger)

値が (this & val)の BigInteger を返します。

AndNot(BigInteger)

値が (this & ~val)の BigInteger を返します。

BitCount()

この BigInteger の 2 つの補数表現の符号ビットとは異なるビット数を返します。

BitLength()

この BigInteger の最小 2 の補数表現 ( <em>excluding</em> 符号ビットのビット数を返します。

ByteValue()

指定した数値の値を byteとして返します。

(継承元 Number)
ByteValueExact()

この BigIntegerbyteに変換し、失われた情報をチェックします。

ClearBit(Int32)

指定されたビットがクリアされたこの BigInteger に相当する値を持つ BigInteger を返します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
CompareTo(BigInteger)

この BigInteger と指定した BigInteger を比較します。

Construct(JniObjectReference, JniObjectReferenceOptions)

変更できない任意の有効桁数の整数。

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

変更できない任意の有効桁数の整数。

(継承元 JavaObject)
Divide(BigInteger)

値が (this / val)の BigInteger を返します。

DivideAndRemainder(BigInteger)

(this / val)とそれに続く(this % val)を含む 2 つの BigIntegers の配列を返します。

DoubleValue()

この BigInteger を doubleに変換します。

Equals(Object)

変更できない任意の有効桁数の整数。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
FlipBit(Int32)

指定されたビットが反転されたこの BigInteger に相当する値を持つ BigInteger を返します。

FloatValue()

この BigInteger を floatに変換します。

Gcd(BigInteger)

abs(this)abs(val)の最も大きな一般的な除数を値とする BigInteger を返します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
IntValue()

この BigInteger を intに変換します。

IntValueExact()

この BigIntegerintに変換し、失われた情報をチェックします。

IsProbablePrime(Int32)

この BigInteger がおそらく素数である場合は true を返します。間違いなく複合型の場合は false

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
LongValue()

この BigInteger を longに変換します。

LongValueExact()

この BigIntegerlongに変換し、失われた情報をチェックします。

Max(BigInteger)

この BigInteger と valの最大値を返します。

Min(BigInteger)

この BigInteger と valの最小値を返します。

Mod(BigInteger)

値が (this mod m) の BigInteger を返します。

ModInverse(BigInteger)

値が (this<sup>-1</sup>mod m) の BigInteger を返します。

ModPow(BigInteger, BigInteger)

値が (this<sup>exponent</sup> mod m)の BigInteger を返します。

Multiply(BigInteger)

値が (this * val)の BigInteger を返します。

Negate()

値が (-this)の BigInteger を返します。

NextProbablePrime()

おそらく素数であるこの BigInteger より大きい最初の整数を返します。

Not()

値が (~this)の BigInteger を返します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Or(BigInteger)

値が (this | val)の BigInteger を返します。

Pow(Int32)

値が (this<sup>exponent</sup>)の BigInteger を返します。

ProbablePrime(Int32, Random)

指定された bitLength を持つ、おそらく素数の正の BigInteger を返します。

Remainder(BigInteger)

値が (this % val)の BigInteger を返します。

SetBit(Int32)

指定されたビット セットを持つこの BigInteger に相当する値を持つ BigInteger を返します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

変更できない任意の有効桁数の整数。

(継承元 JavaObject)
ShiftLeft(Int32)

値が (this << n)の BigInteger を返します。

ShiftRight(Int32)

値が (this >> n)の BigInteger を返します。

ShortValue()

指定した数値の値を shortとして返します。

(継承元 Number)
ShortValueExact()

この BigIntegershortに変換し、失われた情報をチェックします。

Signum()

この BigInteger の signum 関数を返します。

Sqrt()

この BigInteger の整数平方根を返します。

SqrtAndRemainder()

sの整数平方根thisとその剰余this - s*sをそれぞれ含む 2 つの BigIntegers の配列を返します。

Subtract(BigInteger)

値が (this - val)の BigInteger を返します。

TestBit(Int32)

指定されたビットが設定されている場合にのみ、 true を返します。

ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToByteArray()

この BigInteger の 2 つの補数表現を含むバイト配列を返します。

ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
ToString(Int32)

指定された基数のこの BigInteger の文字列形式を返します。

UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
ValueOf(Int64)

指定した longの値と等しい BigInteger を返します。

Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Xor(BigInteger)

値が (this ^ val)の BigInteger を返します。

明示的なインターフェイスの実装

名前 説明
IComparable.CompareTo(Object)

この値を指定したオブジェクトと比較します。

IJavaPeerable.Disposed()

変更できない任意の有効桁数の整数。

(継承元 JavaObject)
IJavaPeerable.Finalized()

変更できない任意の有効桁数の整数。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

変更できない任意の有効桁数の整数。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

変更できない任意の有効桁数の整数。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

変更できない任意の有効桁数の整数。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

変更できない任意の有効桁数の整数。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

変更できない任意の有効桁数の整数。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

変更できない任意の有効桁数の整数。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象