- すべての実装されたインタフェース:
- Serializable,- Comparable<BigInteger>
算術演算のセマンティックスは、『Java言語仕様』に定義されているようにJavaの整数算術演算子を正確に模倣します。 たとえば、ゼロ除算はArithmeticExceptionをスローし、正の数による負の数の除算は負(または0)の剰余を出します。 
 
シフト演算のセマンティックスは、負のシフト移動量を可能にするためJavaのシフト演算子を拡張しています。 負のシフト移動量を持つ右シフトは左シフトとなります。逆の場合も同じです。 この操作では、無署名の右シフト演算子(>>>)は省略されていますが、概念的には固定の仮想符号ビットの数が無限の表現ではなく、概念的には固定のサイズではありません。 
 
ビット単位の論理演算のセマンティックスは、Javaのビット整数演算子のセマンティックスを正確に模倣しています。 2項演算子(and、or、xor)は、演算前に2つのオペランドの短い方に対して暗黙的に符号拡張を行います。 
 
比較演算は符号付き整数の比較を行います。これは、Javaの関連する演算子および同等の演算子により行われるものと同じです。
モジュラ算術演算は、剰余計算、べき乗、および乗法逆数計算のために提供されています。 これらのメソッドは、常に0と(modulus - 1)の間の負でない結果を返します。 
 
ビット演算は、オペランドの2の補数表現のシングル・ビットに使用します。 必要に応じて、指定されたビットが含まれるようにオペランドが拡張されます。 単一ビット操作では、操作対象のBigIntegerとは異なる符号を使用してBigIntegerを生成することはできません。このクラスで提供される任意の大規模な抽象化によって、各BigIntegerの前にある"仮想符号ビット"が無制限に存在することが保証されます。
説明をわかりやすく簡潔にするために、BigIntegerメソッドの説明では全体を通して擬似コードを使用します。 擬似コード式(i+j)は、「値がBigInteger iの値とBigInteger jの値の和であるBigInteger」を示します。 擬似コード式(i == j)は、「BigInteger iがBigInteger jと同じ値を表す場合にだけtrueであること」を示します。 ほかの擬似コード式も同じように解釈されます。 
 
このクラスのメソッドおよびコンストラクタはすべて、入力パラメータに対してnullオブジェクト参照が渡されるとNullPointerExceptionをスローします。 BigIntegerは、-2Integer.MAX_VALUE (これを含まない)から+2Integer.MAX_VALUE (これを含まない)までの範囲の値をサポートする必要があり、この範囲外の値をサポートすることもできます。 BigIntegerコンストラクタまたはメソッドがサポートされている範囲外の値を生成すると、ArithmeticExceptionがスローされます。 確率的素数の値の範囲は限られ、BigIntegerでサポートされる正の範囲全体より小さい場合があります。 範囲は少なくとも1から2500000000でなければなりません。 
- 実装上のノート:
- リファレンス実装では、結果が -2Integer.MAX_VALUE(exclusive)から+2Integer.MAX_VALUE(exclusive)までの範囲外である場合、BigIntegerコンストラクタと操作はArithmeticExceptionをスローします。
- Java言語仕様を参照してください:
- 
4.2.2 整数演算 
- 導入されたバージョン:
- 1.1
- 関連項目:
- 
フィールドのサマリーフィールド修飾子と型フィールド説明static final BigIntegerBigInteger定数1です。static final BigIntegerBigInteger定数10です。static final BigIntegerBigInteger定数2です。static final BigIntegerBigInteger定数0です。
- 
コンストラクタのサマリーコンストラクタコンストラクタ説明BigInteger(byte[] val) BigIntegerの2の補数2進表現を含むバイト配列をBigIntegerに変換します。BigInteger(byte[] val, int off, int len) BigIntegerの2の2進数表現を含むバイト配列をBigIntegerに変換します。BigInteger(int signum, byte[] magnitude) BigIntegerの符号絶対値表現をBigIntegerに変換します。BigInteger(int signum, byte[] magnitude, int off, int len) BigIntegerの符号絶対値表現をBigIntegerに変換します。BigInteger(int bitLength, int certainty, Random rnd) ランダムに生成された(おそらく素数である)正のBigIntegerを、指定したビット長で構築します。BigInteger(int numBits, Random rnd) 0 - (2numBits- 1)の範囲に一様に分散されている、ランダムに生成されたBigIntegerを構築します。BigInteger(String val) BigIntegerの10進String表現をBigIntegerに変換します。BigInteger(String val, int radix) 指定された基数内のBigIntegerのString表現をBigIntegerに変換します。
- 
メソッドのサマリー修飾子と型メソッド説明abs()値がこのBigIntegerの絶対値であるBigIntegerを返します。add(BigInteger val) 値が(this+val)であるBigIntegerを返します。and(BigInteger val) 値が(this & val)であるBigIntegerを返します。andNot(BigInteger val) 値が(this & ~val)であるBigIntegerを返します。intbitCount()このBigIntegerの2の補数表現内の、符号ビットと異なるビットの数を返します。intこのBigIntegerの最小の2の補数表現内のビット数を返します。ただし、符号ビットを除きます。byteこのBigIntegerをbyteに変換し、失われた情報がないかどうかを確認します。clearBit(int n) 値がこのBigIntegerに等しいBigIntegerを、指定されたビットをクリアして返します。intcompareTo(BigInteger val) このBigIntegerを指定されたBigIntegerと比較します。divide(BigInteger val) 値が(this /val)であるBigIntegerを返します。(this /val)そして(this % val)と続く、2つのBigIntegerの配列を返します。doubleこのBigIntegerをdoubleに変換します。booleanこのBigIntegerと指定されたObjectが等しいかどうかを比較します。flipBit(int n) 値がこのBigIntegerに等しいBigIntegerを、指定されたビットを反転させて返します。floatこのBigIntegerをfloatに変換します。gcd(BigInteger val) 値がabs(this)とabs(val)の最大公約数であるBigIntegerを返します。intこのBigIntegerのもっとも右側(1番低い位)の1ビットのインデックス(もっとも右側の1ビットの右方向の0ビットの数)を返します。inthashCode()このBigIntegerのハッシュ・コードを返します。intintValue()このBigIntegerをintに変換します。intこのBigIntegerをintに変換し、失われた情報がないかどうかを確認します。booleanisProbablePrime(int certainty) このBigIntegerが素数である可能性が高い場合はtrue、必ず合成数である場合はfalseを返します。longこのBigIntegerをlongに変換します。longこのBigIntegerをlongに変換し、失われた情報がないかどうかを確認します。max(BigInteger val) このBigIntegerとvalの最大値を返します。min(BigInteger val) このBigIntegerとvalの最小値を返します。mod(BigInteger m) 値が(this mod m)であるBigIntegerを返します。値が(this-1mod m)であるBigIntegerを返します。modPow(BigInteger exponent, BigInteger m) 値が(thisexponent mod m)のBigIntegerを返します。multiply(BigInteger val) 値が(this * val)であるBigIntegerを返します。negate()値が(-this)であるBigIntegerを返します。このBigIntegerより大きい最初の整数(おそらく素数)を返します。not()値が(~this)であるBigIntegerを返します。or(BigInteger val) 値が(this|val)であるBigIntegerを返します。値が(this * val)であるBigIntegerを返します。pow(int exponent) 値が(thisexponent)のBigIntegerを返します。static BigIntegerprobablePrime(int bitLength, Random rnd) 指定されたビット長で正のBigInteger (おそらく素数)を返します。remainder(BigInteger val) 値が(this % val)であるBigIntegerを返します。setBit(int n) 値がこのBigIntegerに等しいBigIntegerを、指定されたビットを設定して返します。shiftLeft(int n) 値が(this << n)であるBigIntegerを返します。shiftRight(int n) 値が(this>> n)であるBigIntegerを返します。shortこのBigIntegerをshortに変換して、失われた情報がないかどうかを確認します。intsignum()このBigIntegerの符号要素を返します。sqrt()このBigIntegerの整数平方根を返します。thisの整数平方根sとその残りのthis - s*sをそれぞれ含む2つのBigIntegerの配列を返します。subtract(BigInteger val) 値が(this - val)であるBigIntegerを返します。booleantestBit(int n) 指定されたビットが設定されている場合にだけtrueを返します。byte[]このBigIntegerの2の補数表現を含むバイト配列を返します。toString()このBigIntegerの10進String表現を返します。toString(int radix) 指定された基数内のこのBigIntegerのString表現を返します。static BigIntegervalueOf(long val) 値が指定されたlongの値と等しいBigIntegerを返します。xor(BigInteger val) 値が(this^val)であるBigIntegerを返します。クラス java.lang.Numberで宣言されたメソッドbyteValue, shortValue
- 
フィールド詳細- 
ZEROpublic static final BigInteger ZEROBigInteger定数0です。- 導入されたバージョン:
- 1.2
 
- 
ONEpublic static final BigInteger ONEBigInteger定数1です。- 導入されたバージョン:
- 1.2
 
- 
TWOpublic static final BigInteger TWOBigInteger定数2です。- 導入されたバージョン:
- 9
 
- 
TENpublic static final BigInteger TENBigInteger定数10です。- 導入されたバージョン:
- 1.5
 
 
- 
- 
コンストラクタの詳細- 
BigIntegerpublic BigInteger(byte[] val, int off, int len) BigIntegerの2の2進数表現を含むバイト配列をBigIntegerに変換します。 サブ配列は、配列へのオフセットと長さによって指定されます。 サブアレイはbig-endianバイト・オーダーであると仮定される: 最上位バイトはインデックスoffの要素です。val配列は、コンストラクタ呼び出しの間は変更されていないものとみなされます。 配列valの長さがゼロでなく、offが負の場合、lenが負の場合、またはoff+lenがvalの長さより大きい場合は、IndexOutOfBoundsExceptionがスローされます。- パラメータ:
- val- BigIntegerのビッグ・エンディアンの2の補数バイナリ表現であるサブ配列を含む2バイト配列です。
- off- バイナリ表現の開始オフセット。
- len- 使用するバイト数。
- 例外:
- NumberFormatException-- valの長さが0バイトの場合。
- IndexOutOfBoundsException- 指定された配列のオフセットと長さにより、バイト配列のインデックスが負であるか、配列の長さ以上になる場合。
- 導入されたバージョン:
- 9
 
- 
BigIntegerpublic BigInteger(byte[] val) BigIntegerの2の補数2進表現を含むバイト配列をBigIntegerに変換します。 入力配列はビッグ・エンディアンのバイト順序(最上位バイトが「0」番目の要素)と見なされます。val配列は、コンストラクタ呼び出しの間は変更されていないものとみなされます。- パラメータ:
- val- BigIntegerのビッグ・エンディアンの2の補数バイナリ表現。
- 例外:
- NumberFormatException-- valの長さが0バイトの場合。
 
- 
BigIntegerpublic BigInteger(int signum, byte[] magnitude, int off, int len) BigIntegerの符号絶対値表現をBigIntegerに変換します。 符号は整数の符号値(負は -1、ゼロは0、正は1)として表されます。 大きさは、big-endianバイト・オーダーのバイト配列のサブ配列です: 最上位バイトはインデックスoffの要素です。lenの長さのゼロ値が許容され、Signumが -1,0または1であるかどうかにかかわらずBigInteger値が0になります。magnitude配列は、コンストラクタ呼び出しの間は変更されていないものとみなされます。 配列magnitudeの長さがゼロでなく、offが負の場合、lenが負の場合、またはoff+lenがmagnitudeの長さより大きい場合は、IndexOutOfBoundsExceptionがスローされます。- パラメータ:
- signum- 数字の符号(負は -1、ゼロは0、正は1)。
- magnitude- 数字の絶対値のビッグエンディアン・バイナリ表現。
- off- バイナリ表現の開始オフセット。
- len- 使用するバイト数。
- 例外:
- NumberFormatException-- signumが3つの有効な値(-1、0、1)のどれでもないか、- signumが0で、- magnitudeに1つ以上の0以外のバイトが含まれている場合。
- IndexOutOfBoundsException- 指定された配列のオフセットと長さにより、バイト配列のインデックスが負であるか、配列の長さ以上になる場合。
- 導入されたバージョン:
- 9
 
- 
BigIntegerpublic BigInteger(int signum, byte[] magnitude) BigIntegerの符号絶対値表現をBigIntegerに変換します。 符号は整数の符号値(負は -1、ゼロは0、正は1)として表されます。 大きさはbig-endianバイト・オーダーのバイト配列です: 最上位バイトは0番目の要素です。 長さが0の絶対値配列は許容され、符号が -1、0、または1のどれであるかにかかわりなくBigInteger値0となります。magnitude配列は、コンストラクタ呼び出しの間は変更されていないものとみなされます。- パラメータ:
- signum- 数字の符号(負は -1、ゼロは0、正は1)。
- magnitude- 数字の絶対値のビッグエンディアン・バイナリ表現。
- 例外:
- NumberFormatException-- signumが3つの有効な値(-1、0、1)のどれでもないか、- signumが0で、- magnitudeに1つ以上の0以外のバイトが含まれている場合。
 
- 
BigIntegerpublic BigInteger(String val, int radix) 指定された基数内のBigIntegerのString表現をBigIntegerに変換します。 String表現は、指定された基数内の任意のマイナス符号またはプラス記号と、それに続く1つ以上の数字の列で構成されます。 文字から数字へのマッピングは、Character.digitによって提供されます。 Stringには、不適切な文字(空白など)を含めることはできません。- パラメータ:
- val- BigIntegerのString表現。
- radix-- valの解釈で使用される基数。
- 例外:
- NumberFormatException-- valが、指定した基数内のBigIntegerの有効な表現ではないか、- radixが- Character.MIN_RADIXから- Character.MAX_RADIXの範囲外にある場合。
 
- 
BigIntegerpublic BigInteger(String val) BigIntegerの10進String表現をBigIntegerに変換します。 文字列表現は、オプションのマイナス記号またはプラス記号とそれに続く1桁以上の小数で構成されます。 文字から数字へのマッピングは、Character.digitによって提供されます。 Stringには、不適切な文字(空白など)を含めることはできません。- パラメータ:
- val- BigIntegerの10進数のString表現。
- 例外:
- NumberFormatException-- valはBigIntegerの表現としては無効である。
 
- 
BigIntegerpublic BigInteger(int numBits, Random rnd) 0 - (2numBits- 1)の範囲に一様に分散されている、ランダムに生成されたBigIntegerを構築します。 分散の一様さは、rndのランダム・ビットのソースに誤りがないことを前提とします。 このコンストラクタは、常に負でないBigIntegerを構築します。- パラメータ:
- numBits- 新しいBigIntegerの最大ビット長。
- rnd- 新しいBigIntegerの計算で使用されるランダム・ビットのソース。
- 例外:
- IllegalArgumentException-- numBitsが負の場合。
- 関連項目:
 
- 
BigIntegerpublic BigInteger(int bitLength, int certainty, Random rnd) ランダムに生成された(おそらく素数である)正のBigIntegerを、指定したビット長で構築します。- APIのノート:
- 確実性を指定する必要がない場合は、このコンストラクタではなくprobablePrimeメソッドを使用することをお薦めします。
- パラメータ:
- bitLength- 返されるBigIntegerのビット長。
- certainty- 呼出し側が許容できる不確実性の程度。 新しいBigIntegerが素数である確率は、(1 - 1/2- certainty)より大きい。 このコンストラクタの実行時間はこのパラメータの値に比例する
- rnd- 素数度をテストする候補の選択で使用されるランダム・ビットのソース。
- 例外:
- ArithmeticException-- bitLength < 2であるか、- bitLengthが大きすぎる場合。
- 関連項目:
 
 
- 
- 
メソッドの詳細- 
probablePrimepublic static BigInteger probablePrime(int bitLength, Random rnd) 指定されたビット長で正のBigInteger (おそらく素数)を返します。 このメソッドから返されるBigIntegerが合成数である確率は2-100を超えません。- パラメータ:
- bitLength- 返されるBigIntegerのビット長。
- rnd- 素数度をテストする候補の選択で使用されるランダム・ビットのソース。
- 戻り値:
- bitLengthビットのBigInteger (おそらく素数)
- 例外:
- ArithmeticException-- bitLength < 2であるか、- bitLengthが大きすぎる場合。
- 導入されたバージョン:
- 1.4
- 関連項目:
 
- 
nextProbablePrimepublic BigInteger nextProbablePrime()このBigIntegerより大きい最初の整数(おそらく素数)を返します。 このメソッドの返す数が合成数である確率は2-100を超えません。 このメソッドは検索時に素数をスキップしません。pを返す場合、this < q < pが成り立つような素数qはありません。- 戻り値:
- このBigIntegerより大きい最初の整数(おそらく素数)。
- 例外:
- ArithmeticException-- this < 0であるか、- thisが大きすぎる場合。
- 導入されたバージョン:
- 1.5
 
- 
valueOfpublic static BigInteger valueOf(long val) 値が指定されたlongの値と等しいBigIntegerを返します。- APIのノート:
- この静的ファクトリ・メソッドは、頻繁に使用されるBigIntegerの再利用が可能なため、(long)コンストラクタに優先して提供されます。
- パラメータ:
- val- 返されるBigIntegerの値。
- 戻り値:
- 指定値を使ったBigInteger
 
- 
addpublic BigInteger add(BigInteger val) 値が(this+val)であるBigIntegerを返します。- パラメータ:
- val- このBigIntegerに加算する値。
- 戻り値:
- this + val
 
- 
subtractpublic BigInteger subtract(BigInteger val) 値が(this - val)であるBigIntegerを返します。- パラメータ:
- val- このBigIntegerから減算する値。
- 戻り値:
- this - val
 
- 
multiplypublic BigInteger multiply(BigInteger val) 値が(this * val)であるBigIntegerを返します。- 実装上のノート:
- val == thisの場合、実装のアルゴリズム的パフォーマンスが向上することがあります。
- パラメータ:
- val- このBigIntegerで乗算する値。
- 戻り値:
- this * val
 
- 
parallelMultiplypublic BigInteger parallelMultiply(BigInteger val) 値が(this * val)であるBigIntegerを返します。thisとvalの両方が大きい場合(通常は数千ビット)、並列乗算が使用されます。 このメソッドは、multiply(java.math.BigInteger)とまったく同じ数学結果を返します。- 実装上のノート:
- この実装では、val == this.とmultiply(java.math.BigInteger)を比較すると、アルゴリズムのパフォーマンスが向上する可能性があります。実装のパラレル乗算アルゴリズムでは通常、結果をより速くコンピュートするためにより多くのCPUリソースが使用され、メモリー消費がわずかに増加する場合があります。
- パラメータ:
- val- このBigIntegerで乗算する値。
- 戻り値:
- this * val
- 導入されたバージョン:
- 19
- 関連項目:
 
- 
dividepublic BigInteger divide(BigInteger val) 値が(this /val)であるBigIntegerを返します。- パラメータ:
- val- このBigIntegerを除算する値。
- 戻り値:
- this / val
- 例外:
- ArithmeticException-- valが0の場合。
 
- 
divideAndRemainderpublic BigInteger[] divideAndRemainder(BigInteger val) (this /val)そして(this % val)と続く、2つのBigIntegerの配列を返します。- パラメータ:
- val- このBigIntegerを除算する値、および計算された剰余。
- 戻り値:
- 2つのBigIntegerの配列。商(this /val)が最初の要素で、剰余(this % val)が最後の要素。
- 例外:
- ArithmeticException-- valが0の場合。
 
- 
remainderpublic BigInteger remainder(BigInteger val) 値が(this % val)であるBigIntegerを返します。- パラメータ:
- val- このBigIntegerを除算する値、および計算された剰余。
- 戻り値:
- this % val
- 例外:
- ArithmeticException-- valが0の場合。
 
- 
powpublic BigInteger pow(int exponent) 値が(thisexponent)のBigIntegerを返します。exponentはBigIntegerではなく整数です。- パラメータ:
- exponent- このBigIntegerを累乗する指数。
- 戻り値:
- thisexponent
- 例外:
- ArithmeticException-- exponentが負の場合。 (非整数値を生成する演算が生じる。)
 
- 
sqrtpublic BigInteger sqrt()このBigIntegerの整数平方根を返します。 対応する数学的整数nの整数平方根は、s*s <= nのような最大の数学的整数sです。 これはfloor(sqrt(n))の値に等しく、sqrt(n)は実数として扱われるnの実数平方根を表します。 後者が整数値として表現できない場合、整数平方根は実数平方根より小さくなることに注意してください。- 戻り値:
- thisの整数平方根
- 例外:
- ArithmeticException-- thisが負の場合。 (負の整数- valの平方根は- (i * sqrt(-val))であり、ここで、iは「虚数単位」であり、- sqrt(-1)と等しい。)
- 導入されたバージョン:
- 9
 
- 
sqrtAndRemainderpublic BigInteger[] sqrtAndRemainder()thisの整数平方根sとその残りのthis - s*sをそれぞれ含む2つのBigIntegerの配列を返します。- 戻り値:
- オフセットが0の整数平方根、オフセットが1の余りの2つのBigIntegerの配列
- 例外:
- ArithmeticException-- thisが負の場合。 (負の整数- valの平方根は- (i * sqrt(-val))であり、ここで、iは「虚数単位」であり、- sqrt(-1)と等しい。)
- 導入されたバージョン:
- 9
- 関連項目:
 
- 
gcdpublic BigInteger gcd(BigInteger val) 値がabs(this)とabs(val)の最大公約数であるBigIntegerを返します。this == 0 && val == 0の場合は0を返します。- パラメータ:
- val- GCDの計算に使用する値。
- 戻り値:
- GCD(abs(this), abs(val))
 
- 
abspublic BigInteger abs()値がこのBigIntegerの絶対値であるBigIntegerを返します。- 戻り値:
- abs(this)
 
- 
negatepublic BigInteger negate()値が(-this)であるBigIntegerを返します。- 戻り値:
- -this
 
- 
signumpublic int signum()このBigIntegerの符号要素を返します。- 戻り値:
- このBigIntegerが負の場合は -1、ゼロの場合は0、正の場合は1
 
- 
modpublic BigInteger mod(BigInteger m) 値が(this mod m)であるBigIntegerを返します。 このメソッドは、常に負でない BigIntegerを返すremainderとは異なります。- パラメータ:
- m- モジュラス。
- 戻り値:
- this mod m
- 例外:
- ArithmeticException-- m≤ 0
- 関連項目:
 
- 
modPowpublic BigInteger modPow(BigInteger exponent, BigInteger m) 値が(thisexponent mod m)のBigIntegerを返します。 (powと違って、このメソッドは負の指数を許容する。)- パラメータ:
- exponent- 指数
- m- モジュラス。
- 戻り値:
- thisexponent mod m
- 例外:
- ArithmeticException-- m≤0であるか、指数が負でこのBigIntegerが- mの素数ではない場合。
- 関連項目:
 
- 
modInversepublic BigInteger modInverse(BigInteger m) 値が(this-1mod m)であるBigIntegerを返します。- パラメータ:
- m- モジュラス。
- 戻り値:
- this-1- mod m。
- 例外:
- ArithmeticException-- m≤0であるか、あるいはこのBigIntegerがmod mの乗法逆数を持たない場合(つまり、このBigIntegerがmの素数ではない場合)。
 
- 
shiftLeftpublic BigInteger shiftLeft(int n) 値が(this << n)であるBigIntegerを返します。 シフト移動量nが負の場合は、このメソッドは右シフトを実行します。 (floor(this * 2n)を計算する。)- パラメータ:
- n- ビット単位でのシフト移動量。
- 戻り値:
- this << n
- 関連項目:
 
- 
shiftRightpublic BigInteger shiftRight(int n) 値が(this>> n)であるBigIntegerを返します。 符号拡張が行われます。 シフト移動量nが負の場合は、このメソッドは左シフトを実行します。 (floor(this /2n)を計算する。)- パラメータ:
- n- ビット単位でのシフト移動量。
- 戻り値:
- this >> n
- 関連項目:
 
- 
andpublic BigInteger and(BigInteger val) 値が(this & val)であるBigIntegerを返します。 (このメソッドは、thisとvalの両方が負の場合は負のBigIntegerを返す。)- パラメータ:
- val- このBigIntegerとの論理積をとる値。
- 戻り値:
- this & val
 
- 
orpublic BigInteger or(BigInteger val) 値が(this|val)であるBigIntegerを返します。 (このメソッドは、thisまたはvalが負の場合は負のBigIntegerを返す。)- パラメータ:
- val- このBigIntegerとの論理和をとる値。
- 戻り値:
- this | val
 
- 
xorpublic BigInteger xor(BigInteger val) 値が(this^val)であるBigIntegerを返します。 (このメソッドは、thisとvalの片方だけが負の場合に負のBigIntegerを返す。)- パラメータ:
- val- このBigIntegerとの排他的論理和をとる値。
- 戻り値:
- this ^ val
 
- 
notpublic BigInteger not()値が(~this)であるBigIntegerを返します。 (このメソッドは、このBigIntegerが負でない場合に負の値を返す。)- 戻り値:
- ~this
 
- 
andNotpublic BigInteger andNot(BigInteger val) 値が(this & ~val)であるBigIntegerを返します。and(val.not())と同等のこのメソッドは、マスキング演算の便宜を図るために提供されています。 (このメソッドは、thisが負でvalが正の場合に負のBigInteger数値を返す。)- パラメータ:
- val- このBigIntegerで補数がとられ、論理積がとられる値。
- 戻り値:
- this & ~val
 
- 
testBitpublic boolean testBit(int n) 指定されたビットが設定されている場合にだけtrueを返します。 (((this & (1<<n))!= 0)を計算する。)- パラメータ:
- n- テストするビットのインデックス。
- 戻り値:
- 指定されたビットが設定されている場合にだけtrue。
- 例外:
- ArithmeticException-- nが負の場合。
 
- 
setBitpublic BigInteger setBit(int n) 値がこのBigIntegerに等しいBigIntegerを、指定されたビットを設定して返します。 ((this|(1<<n))を計算する。)- パラメータ:
- n- 設定するビットのインデックス。
- 戻り値:
- this | (1<<n)
- 例外:
- ArithmeticException-- nが負の場合。
 
- 
clearBitpublic BigInteger clearBit(int n) 値がこのBigIntegerに等しいBigIntegerを、指定されたビットをクリアして返します。 ((this & ~(1<<n))を計算する。)- パラメータ:
- n- クリアするビットのインデックス。
- 戻り値:
- this & ~(1<<n)
- 例外:
- ArithmeticException-- nが負の場合。
 
- 
flipBitpublic BigInteger flipBit(int n) 値がこのBigIntegerに等しいBigIntegerを、指定されたビットを反転させて返します。 ((this^(1<<n))を計算する。)- パラメータ:
- n- 反転するビットのインデックス。
- 戻り値:
- this ^ (1<<n)
- 例外:
- ArithmeticException-- nが負の場合。
 
- 
getLowestSetBitpublic int getLowestSetBit()このBigIntegerのもっとも右側(1番低い位)の1ビットのインデックス(もっとも右側の1ビットの右方向の0ビットの数)を返します。 このBigIntegerに1ビットが1つも含まれない場合は -1を返します。 ((this == 0? -1 : log2(this & -this))を計算する。)- 戻り値:
- このBigIntegerのもっとも右側の1ビットのインデックス。
 
- 
bitLengthpublic int bitLength()このBigIntegerの最小の2の補数表現内のビット数を返します。ただし、符号ビットを除きます。 正のBigIntegerについては、通常の2進表現におけるビットの数に等しくなります。 ゼロの場合、このメソッドは0を返します。 ((ceil(log2(this < 0 ? -this : this+1)))を計算する。)- 戻り値:
- このBigIntegerの最小の2の補数表現内のビット数。ただし、符号ビットを除きます。
 
- 
bitCountpublic int bitCount()このBigIntegerの2の補数表現内の、符号ビットと異なるビットの数を返します。 このメソッドはBigInteger上にビット・ベクトル形式の設定を実装する場合に便利です。- 戻り値:
- このBigIntegerの2の補数表現内の、符号ビットと異なるビットの数。
 
- 
isProbablePrimepublic boolean isProbablePrime(int certainty) このBigIntegerが素数である可能性が高い場合はtrue、必ず合成数である場合はfalseを返します。certaintyが≤0の場合、trueが返されます。- パラメータ:
- certainty- 呼出し側が許容できる不確実性の程度。この呼出しが- trueを返す場合、このBigIntegerが素数である確率は(1 - 1/2- certainty)を超えます。 このメソッドの実行時間はこのパラメータの値に比例します。
- 戻り値:
- このBigIntegerが素数である可能性が高い場合はtrue、必ず合成数である場合はfalse。
 
- 
compareTopublic int compareTo(BigInteger val) このBigIntegerを指定されたBigIntegerと比較します。 このメソッドは、6つのboolean型の比較演算子(<、==、>、>=、!=、<=)のそれぞれに対する個々のメソッドの代わりに提供されます。 これらの比較を行うには(x.compareTo(y)<op>0)という組合せをお薦めします。この場合、<op>には6つの比較演算子のうちの1つが入ります。- 定義:
- compareTo、インタフェース- Comparable<BigInteger>
- パラメータ:
- val- このBigIntegerと比較するBigInteger。
- 戻り値:
- このBigIntegerの数値がvalより小さい場合は -1、等しい場合は0、大きい場合は1。
 
- 
equalspublic boolean equals(Object x) このBigIntegerと指定されたObjectが等しいかどうかを比較します。
- 
minpublic BigInteger min(BigInteger val) このBigIntegerとvalの最小値を返します。- パラメータ:
- val- 最小値の計算に使用する値。
- 戻り値:
- このBigIntegerとvalのうちで小さい方の値を持つBigInteger。 値が等しい場合はどちらかが返される。
 
- 
maxpublic BigInteger max(BigInteger val) このBigIntegerとvalの最大値を返します。- パラメータ:
- val- 最大値の計算に使用する値。
- 戻り値:
- このBigIntegerとvalのうちで大きい方の値を持つBigInteger。 値が等しい場合はどちらかが返される。
 
- 
hashCodepublic int hashCode()このBigIntegerのハッシュ・コードを返します。
- 
toStringpublic String toString(int radix) 指定された基数内のこのBigIntegerのString表現を返します。 基数がCharacter.MIN_RADIXからCharacter.MAX_RADIXの範囲外にある場合、デフォルトでは10になります(Integer.toStringの場合と同じ)。Character.forDigitによる数値から文字へのマッピングが使用され、必要に応じてマイナス符号が前に付けられます。 (この表現は(String, int)コンストラクタと互換性があります)。- パラメータ:
- radix- String表現の基数。
- 戻り値:
- 指定された基数内のこのBigIntegerのString表現。
- 関連項目:
 
- 
toStringpublic String toString()このBigIntegerの10進String表現を返します。Character.forDigitによる数値から文字へのマッピングが使用され、必要に応じてマイナス符号が前に付けられます。 (この表現は(String)コンストラクタと互換性があり、Javaの+演算子との連結を可能にします。)
- 
toByteArraypublic byte[] toByteArray()このBigIntegerの2の補数表現を含むバイト配列を返します。 バイト配列はビッグエンディアンのバイト順序(最上位バイトが「0」番目の要素)です。 配列には、最低1つの符号ビットを含むこのBigIntegerの表現に必要な最小のバイト数((ceil((this.bitLength()+1)/8)))が含まれます (この表現は(byte[])コンストラクタと互換性があります)。- 戻り値:
- このBigIntegerの2の補数表現を含むバイト配列。
- 関連項目:
 
- 
intValuepublic int intValue()このBigIntegerをintに変換します。 この変換は、longからintへのプリミティブ変換を狭めるに似ています。Java言語仕様で定義されています: このBigIntegerが大きすぎてintに収まらない場合は、下位32ビットのみが返されます。 この変換により、このBigInteger値の絶対値全体に関する情報が失われ、逆の符号で返される可能性があります。- 定義:
- intValue、クラス- Number
- 戻り値:
- intに変換されたこのBigInteger。
- Java言語仕様を参照してください:
- 
5.1.3 プリミティブ・コンバージョンの解説 
- 関連項目:
 
- 
longValuepublic long longValue()このBigIntegerをlongに変換します。 この変換は、longからintへのプリミティブ変換を狭めるに似ています。Java言語仕様で定義されています: このBigIntegerが大きすぎてlongに収まらない場合は、下位64ビットのみが返されます。 この変換により、このBigInteger値の絶対値全体に関する情報が失われ、逆の符号で返される可能性があります。- 定義:
- longValue、クラス- Number
- 戻り値:
- longに変換されたこのBigInteger。
- Java言語仕様を参照してください:
- 
5.1.3 プリミティブ・コンバージョンの解説 
- 関連項目:
 
- 
floatValuepublic float floatValue()このBigIntegerをfloatに変換します。 この変換は、Java言語仕様で定義されているdoubleからfloatへのプリミティブ変換を狭めるに似ています: このBigIntegerが大きすぎてfloatとして表現できない場合は、必要に応じてFloat.NEGATIVE_INFINITYまたはFloat.POSITIVE_INFINITYに変換されます。 戻り値が有限である場合も、この変換により、BigInteger値の精度に関する情報が失われる可能性があります。- 定義:
- floatValue、クラス- Number
- 戻り値:
- floatに変換されたこのBigInteger。
- Java言語仕様を参照してください:
- 
5.1.3 プリミティブ・コンバージョンの解説 
 
- 
doubleValuepublic double doubleValue()このBigIntegerをdoubleに変換します。 この変換は、Java言語仕様で定義されているdoubleからfloatへのプリミティブ変換を狭めるに似ています: このBigIntegerが大きすぎてdoubleとして表現できない場合は、必要に応じてDouble.NEGATIVE_INFINITYまたはDouble.POSITIVE_INFINITYに変換されます。 戻り値が有限である場合も、この変換により、BigInteger値の精度に関する情報が失われる可能性があります。- 定義:
- doubleValue、クラス- Number
- 戻り値:
- doubleに変換されたこのBigInteger。
- Java言語仕様を参照してください:
- 
5.1.3 プリミティブ・コンバージョンの解説 
 
- 
longValueExactpublic long longValueExact()このBigIntegerをlongに変換し、失われた情報がないかどうかを確認します。 このBigIntegerの値がlong型の範囲から外れている場合は、ArithmeticExceptionがスローされます。- 戻り値:
- longに変換されたこの- BigInteger。
- 例外:
- ArithmeticException-- thisの値が- longにぴったり収まらない場合。
- 導入されたバージョン:
- 1.8
- 関連項目:
 
- 
intValueExactpublic int intValueExact()このBigIntegerをintに変換し、失われた情報がないかどうかを確認します。 このBigIntegerの値がint型の範囲から外れている場合は、ArithmeticExceptionがスローされます。- 戻り値:
- intに変換されたこの- BigInteger。
- 例外:
- ArithmeticException-- thisの値が- intに正確に収まらない場合。
- 導入されたバージョン:
- 1.8
- 関連項目:
 
- 
shortValueExactpublic short shortValueExact()このBigIntegerをshortに変換して、失われた情報がないかどうかを確認します。 このBigIntegerの値がshort型の範囲から外れている場合は、ArithmeticExceptionがスローされます。- 戻り値:
- shortに変換されたこの- BigInteger。
- 例外:
- ArithmeticException-- thisの値が- shortにぴったり収まらない場合。
- 導入されたバージョン:
- 1.8
- 関連項目:
 
- 
byteValueExactpublic byte byteValueExact()このBigIntegerをbyteに変換し、失われた情報がないかどうかを確認します。 このBigIntegerの値がbyte型の範囲から外れている場合は、ArithmeticExceptionがスローされます。- 戻り値:
- byteに変換されたこの- BigInteger。
- 例外:
- ArithmeticException-- thisの値が- byteにぴったり収まらない場合。
- 導入されたバージョン:
- 1.8
- 関連項目:
 
 
-