JavaTM 2
Platform
Std. Ed. v1.4.0

java.math
クラス BigInteger

java.lang.Object
  |
  +--java.lang.Number
        |
        +--java.math.BigInteger
すべての実装インタフェース:
Comparable, Serializable

public class BigInteger
extends Number
implements Comparable

変更が不可能な、任意精度の整数です。すべての演算は、BigInteger が (Java のプリミティブ整数型のような) 2 値補数表記法で表されたかのように動作します。BigInteger は、Java のすべてのプリミティブ整数演算子と、java.lang.Math の関連するすべてのメソッドに同等のものを提供します。また、BigInteger は、モジュラ算術、GCD 計算、素数度テスト、素数生成、ビット操作、その他のいくつかの操作に対する演算も提供します。

算術演算のセマンティクスは、「Java 言語仕様」に定義されているように Java の整数算術演算子を正確に模倣します。たとえば、ゼロ除算は ArithmeticException をスローし、正の数による負の数の除算は負 (または 0) の剰余を出します。オーバーフローに関する仕様内の詳細はすべて無視され、BigInteger は演算の結果の受け入れに必要なだけ大きくなります。

シフト演算のセマンティクスは、負のシフト移動量を考慮するため Java のシフト演算子を拡張しています。負のシフト移動量を持つ右シフトは左シフトとなります。逆の場合も同じです。符号なしの右シフト演算子 (>>>) は、この演算ではこのクラスが提供する「無限のワードサイズ」抽出と組み合わせる意味がほとんどないため省かれています。

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

比較演算は符号付き整数の比較を行います。これは、Java の関連する演算子および同等の演算子により行われるものと同じです。

モジュラ算術演算は、剰余計算、べき乗、および乗法逆数計算のために提供されています。これらのメソッドは、常に 0(モジュラス - 1) の間の負でない結果を返します (モジュラス - 1 を含む)。

ビット演算は、オペランドの 2 の補数表現のシングルビットに使用します。必要に応じて、オペランドの符号は指示するビットを持つように拡張されます。演算中の BigInteger と異なる符号を持つ BigInteger を生成するシングルビット演算はありません。これは、シングルビット演算が単一のビットにのみ影響し、このクラスが提供する「無限のワードサイズ」抽出によって、各 BigInteger に先行する無限の「仮想符号ビット」が存在するためです。

説明をわかりやすく簡潔にするために、BigInteger メソッドの説明では全体を通して擬似コードを使用します。擬似コード式 (i + j) は、値が BigInteger i の値と BigInteger j の値の和である BigInteger を示します。擬似コード式 (i == j) は、BigInteger i が BigInteger j と同じ値を表す場合にだけ true であることを示しています。ほかの擬似コード式も同じように解釈されます。

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

導入されたバージョン:
JDK1.1
関連項目:
BigDecimal, 直列化された形式

フィールドの概要
static BigInteger ONE
          BigInteger 定数 1 です。
static BigInteger ZERO
          BigInteger 定数 0 です。
 
コンストラクタの概要
BigInteger(byte[] val)
          BigInteger の 2 の補数 2 進表現を含むバイト配列を BigInteger に変換します。
BigInteger(int signum, byte[] magnitude)
          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 に変換します。
 
メソッドの概要
 BigInteger abs()
          値がこの BigInteger の絶対値である BigInteger を返します。
 BigInteger add(BigInteger val)
          値が (this + val) の BigInteger を返します。
 BigInteger and(BigInteger val)
          値が (this & val) の BigInteger を返します (このメソッドは、this と val の両方が負の場合は負の BigInteger を返す)。
 BigInteger andNot(BigInteger val)
          値が (this & ‾val) である BigInteger を返します。
 int bitCount()
          この BigInteger の 2 の補数表現内の、符号ビットと異なるビットの数を返します。
 int bitLength()
          この BigInteger の最小の 2 の補数表現内のビット数を返します。
 BigInteger clearBit(int n)
          値がこの BigInteger に等しい BigInteger を、指定されたビットをクリアして返します ((this & ‾(1<<n)) を計算する)。
 int compareTo(BigInteger val)
          この BigInteger を指定された BigInteger と比較します。
 int compareTo(Object o)
          この BigInteger を指定した Object と比較します。
 BigInteger divide(BigInteger val)
          値が (this / val) の BigInteger を返します。
 BigInteger[] divideAndRemainder(BigInteger val)
          (this / val) そして (this % val) と続く、2 つの BigInteger の配列を返します。
 double doubleValue()
          この BigInteger を double に変換します。
 boolean equals(Object x)
          この BigInteger と指定された Object が等しいかどうかを比較します。
 BigInteger flipBit(int n)
          値がこの BigInteger に等しい BigInteger を、指定されたビットを反転させて返します ((this ^ (1<<n)) を計算する)。
 float floatValue()
          この BigInteger を float に変換します。
 BigInteger gcd(BigInteger val)
          値が abs(this)abs(val) の最大公約数である BigInteger を返します。
 int getLowestSetBit()
          この BigInteger のもっとも右側 (1 番低い位) の 1 ビットのインデックス (もっとも右側の 1 ビットの右方向の 0 ビットの数) を返します。
 int hashCode()
          この BigInteger のハッシュコードを返します。
 int intValue()
          この BigInteger を int に変換します。
 boolean isProbablePrime(int certainty)
          この BigInteger が素数である可能性が高い場合は true を返し、必ず合成数である場合は false を返します。
 long longValue()
          この BigInteger を long に変換します。
 BigInteger max(BigInteger val)
          この BigInteger と val の最大値を返します。
 BigInteger min(BigInteger val)
          この BigInteger と val の最小値を返します。
 BigInteger mod(BigInteger m)
          値が (this mod m) の BigInteger を返します。
 BigInteger modInverse(BigInteger m)
          値が (this-1 mod m) の BigInteger を返します。
 BigInteger modPow(BigInteger exponent, BigInteger m)
          値が (thisexponent mod m) の BigInteger を返します (pow と違って、このメソッドは負の指数を許容する)。
 BigInteger multiply(BigInteger val)
          値が (this * val) の BigInteger を返します。
 BigInteger negate()
          値が (-this) の BigInteger を返します。
 BigInteger not()
          値が (‾this) の BigInteger を返します (このメソッドは、この BigInteger が負でない場合に負の値を返す)。
 BigInteger or(BigInteger val)
          値が (this | val) の BigInteger を返します (このメソッドは、this または val が負の場合は負の BigInteger を返す)。
 BigInteger pow(int exponent)
          値が (thisexponent) の BigInteger を返します。
static BigInteger probablePrime(int bitLength, Random rnd)
          指定されたビット長で正の BigInteger (おそらく素数) を返します。
 BigInteger remainder(BigInteger val)
          値が (this % val) の BigInteger を返します。
 BigInteger setBit(int n)
          値がこの BigInteger に等しい BigInteger を、指定されたビットを設定して返します ((this | (1<<n)) を計算する)。
 BigInteger shiftLeft(int n)
          値が (this << n) の BigInteger を返します。
 BigInteger shiftRight(int n)
          値が (this >> n) の BigInteger を返します。
 int signum()
          この BigInteger の符号要素を返します。
 BigInteger subtract(BigInteger val)
          値が (this - val) の BigInteger を返します。
 boolean testBit(int n)
          指定されたビットが設定されている場合にだけ true を返します ((this & (1<<n)) !
 byte[] toByteArray()
          この BigInteger の 2 の補数表現を含むバイト配列を返します。
 String toString()
          この BigInteger の 10 進 String 表現を返します。
 String toString(int radix)
          指定された基数内のこの BigInteger の String 表現を返します。
static BigInteger valueOf(long val)
          値が指定した long の値と等しい BigInteger を返します。
 BigInteger xor(BigInteger val)
          値が (this ^ val) の BigInteger を返します (このメソッドは、this と val の片方だけが負の場合に負の BigInteger を返す)。
 
クラス java.lang.Number から継承したメソッド
byteValue, shortValue
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

ZERO

public static final BigInteger ZERO
BigInteger 定数 0 です。

導入されたバージョン:
1.2

ONE

public static final BigInteger ONE
BigInteger 定数 1 です。

導入されたバージョン:
1.2
コンストラクタの詳細

BigInteger

public BigInteger(byte[] val)
BigInteger の 2 の補数 2 進表現を含むバイト配列を BigInteger に変換します。入力配列は「ビッグエンディアン」のバイト順序 (最上位バイトが [0] 番目の要素) と見なされます。

パラメータ:
val - BigInteger の、ビックエンディアン 2 の補数バイナリ表現
例外:
NumberFormatException - val の長さが 0 バイトの場合

BigInteger

public BigInteger(int signum,
                  byte[] magnitude)
BigInteger の符号絶対値表現を BigInteger に変換します。符号は整数の符号値 (負は -1、ゼロは 0、正は 1) として表されます。絶対値は「ビッグエンディアン」のバイト順序のバイト配列 (最上位バイトが [0] 番目の要素) です。長さが 0 の絶対値配列は許容され、signum が -1、0、または 1 のどれであるかにかかわりなく BigInteger 値 0 となります。

パラメータ:
signum - 数字の符号 (負は -1、ゼロは 0、正は 1)
magnitude - 数字の絶対値のビックエンディアンバイナリ表現
例外:
NumberFormatException - signum が 3 つの有効な値 (-1、0、1) のどれでもないか、signum が 0 で、magnitude に 1 つ以上の 0 以外のバイトが含まれている場合

BigInteger

public BigInteger(String val,
                  int radix)
指定された基数内の BigInteger の String 表現を BigInteger に変換します。String 表現は、指定された基数内の任意のマイナス符号とそれに続く 1 つ以上の数字の列で構成されます。文字型から数値型へのマッピングは Character.digit で提供されています。String には、不適切な文字 (空白など) を含めることはできません。

パラメータ:
val - BigInteger の String 表現
radix - val の解釈で使用される基数
例外:
NumberFormatException - val が指定した基数内の BigInteger の有効な表現ではないか、radixCharacter.MIN_RADIX (2) 〜 Character.MAX_RADIX (36) の範囲外にある場合
関連項目:
Character.digit(char, int)

BigInteger

public BigInteger(String val)
BigInteger の 10 進 String 表現を BigInteger に変換します。String 表現は、任意のマイナス符号とそれに続く 1 つ以上の 10 進数字の列で構成されます。文字型から数値型へのマッピングは Character.digit で提供されています。String には、不適切な文字 (空白など) を含めることはできません。

パラメータ:
val - BigInteger の 10 進数の String 表現
例外:
NumberFormatException - val は BigInteger の表現としては無効である
関連項目:
Character.digit(char, int)

BigInteger

public BigInteger(int numBits,
                  Random rnd)
0(2numBits - 1) の範囲に一様に分散されている、ランダムに生成された BigInteger を構築します。分散の一様さは、rnd のランダムビットのソースに誤りがないことを前提とします。このコンストラクタは、常に負でない BigInteger を構築します。

パラメータ:
numBits - 新しい BigInteger の最大ビット数
rnd - 新しい BigInteger の計算で使用されるランダムビットのソース
例外:
IllegalArgumentException - numBits が負の場合
関連項目:
bitLength()

BigInteger

public BigInteger(int bitLength,
                  int certainty,
                  Random rnd)
ランダムに生成された (おそらく素数である) 正の BigInteger を、指定したビット数で構築します。

確率を指定する必要がない場合は、このコンストラクタではなく probablePrime メソッドを使用することをお勧めします。

パラメータ:
bitLength - 返される BigInteger のビット長
certainty - 呼び出し側が許容しない確率の尺度。新しい BigInteger が素数である確率は、(1 - 1/2certainty) より大きい。このインストラクタの実行時間はこのパラメータの値に比例する
rnd - 素数度をテストする候補の選択で使用されるランダムビットのソース
例外:
ArithmeticException - bitLength < 2
関連項目:
bitLength()
メソッドの詳細

probablePrime

public static BigInteger probablePrime(int bitLength,
                                       Random rnd)
指定されたビット長で正の BigInteger (おそらく素数) を返します。このメソッドから返される BigInteger が合成数である確率は 2-100 を超えません。

パラメータ:
bitLength - 返される BigInteger のビット長
rnd - 素数度をテストする候補の選択で使用されるランダムビットのソース
戻り値:
bitLengthの BigInteger。おそらく素数
例外:
ArithmeticException - bitLength < 2
関連項目:
bitLength()

valueOf

public static BigInteger valueOf(long val)
値が指定した long の値と等しい BigInteger を返します。この static メソッドは、よく使われる BigInteger を再利用できるようにするために、long を引数とするコンストラクタの代わりに提供されます。

パラメータ:
val - 返される BigInteger の値
戻り値:
指定値を使った BigInteger

add

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

パラメータ:
val - この BigInteger に加算する値
戻り値:
this + val

subtract

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

パラメータ:
val - この BigInteger から減算する値
戻り値:
this - val

multiply

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

パラメータ:
val - この BigInteger で乗算する値
戻り値:
this * val

divide

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

パラメータ:
val - この BigInteger を除算する値
戻り値:
this / val
例外:
ArithmeticException - val==0

divideAndRemainder

public BigInteger[] divideAndRemainder(BigInteger val)
(this / val) そして (this % val) と続く、2 つの BigInteger の配列を返します。

パラメータ:
val - この BigInteger を除算する値、および計算された剰余
戻り値:
2 つの BigInteger の配列。商 (this / val) は最初の要素で、剰余 (this % val) は最後の要素
例外:
ArithmeticException - val==0

remainder

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

パラメータ:
val - この BigInteger を除算する値、および計算された剰余
戻り値:
this % val
例外:
ArithmeticException - val==0

pow

public BigInteger pow(int exponent)
値が (thisexponent) の BigInteger を返します。exponent は BigInteger ではなく整数です。

パラメータ:
exponent - この BigInteger を累乗する指数
戻り値:
thisexponent
例外:
ArithmeticException - exponent が負の場合 (非整数値を生成する演算が生じる)

gcd

public BigInteger gcd(BigInteger val)
値が abs(this)abs(val) の最大公約数である BigInteger を返します。this == 0 && val == 0 の場合は 0 を返します。

パラメータ:
val - GCD で計算する値
戻り値:
GCD(abs(this), abs(val))

abs

public BigInteger abs()
値がこの BigInteger の絶対値である BigInteger を返します。

戻り値:
abs(this)

negate

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

戻り値:
-this

signum

public int signum()
この BigInteger の符号要素を返します。

戻り値:
この BigInteger が負の場合は -1、ゼロの場合は 0、正の場合は 1

mod

public BigInteger mod(BigInteger m)
値が (this mod m) の BigInteger を返します。このメソッドは、常に「負でない」 BigInteger を返す remainder とは異なります。

パラメータ:
m - モジュラス
戻り値:
this mod m
例外:
ArithmeticException - m <= 0
関連項目:
remainder(java.math.BigInteger)

modPow

public BigInteger modPow(BigInteger exponent,
                         BigInteger m)
値が (thisexponent mod m) の BigInteger を返します (pow と違って、このメソッドは負の指数を許容する)。

パラメータ:
exponent - 指数
m - モジュラス
戻り値:
thisexponent mod m
例外:
ArithmeticException - m <= 0
関連項目:
modInverse(java.math.BigInteger)

modInverse

public BigInteger modInverse(BigInteger m)
値が (this-1 mod m) の BigInteger を返します。

パラメータ:
m - モジュラス
戻り値:
this-1 mod m
例外:
ArithmeticException - m <= 0 であるか、あるいはこの BigInteger が mod m の乗法逆数を持たない場合 (つまり、この BigInteger が m の「素数」ではない場合)

shiftLeft

public BigInteger shiftLeft(int n)
値が (this << n) の BigInteger を返します。シフト移動量 n が負の場合は、このメソッドは右シフトを実行します (floor(this * 2n) を計算する)。

パラメータ:
n - ビット単位でのシフト移動量
戻り値:
this << n
関連項目:
shiftRight(int)

shiftRight

public BigInteger shiftRight(int n)
値が (this >> n) の BigInteger を返します。符号拡張が行われます。シフト移動量 n が負の場合は、このメソッドは左シフトを実行します (floor(this / 2n) を計算する)。

パラメータ:
n - ビット単位でのシフト移動量
戻り値:
this >> n
関連項目:
shiftLeft(int)

and

public BigInteger and(BigInteger val)
値が (this & val) の BigInteger を返します (このメソッドは、this と val の両方が負の場合は負の BigInteger を返す)。

パラメータ:
val - この BigInteger との論理積をとる値
戻り値:
this & val

or

public BigInteger or(BigInteger val)
値が (this | val) の BigInteger を返します (このメソッドは、this または val が負の場合は負の BigInteger を返す)。

パラメータ:
val - この BigInteger との論理和をとる値
戻り値:
this | val

xor

public BigInteger xor(BigInteger val)
値が (this ^ val) の BigInteger を返します (このメソッドは、this と val の片方だけが負の場合に負の BigInteger を返す)。

パラメータ:
val - この BigInteger との排他的論理和をとる値
戻り値:
this ^ val

not

public BigInteger not()
値が (‾this) の BigInteger を返します (このメソッドは、この BigInteger が負でない場合に負の値を返す)。

戻り値:
‾this

andNot

public BigInteger andNot(BigInteger val)
値が (this & ‾val) である BigInteger を返します。and(val.not()) と同等のこのメソッドは、マスキング演算の便宜を図るために提供されています (このメソッドは、this が負で val が正の場合に負の BigInteger 数値を返す)。

パラメータ:
val - この BigInteger で補数がとられ、論理積がとられる値
戻り値:
this & ‾val

testBit

public boolean testBit(int n)
指定されたビットが設定されている場合にだけ true を返します ((this & (1<<n)) != 0) を計算する)。

パラメータ:
n - テストするビットのインデックス
戻り値:
指定されたビットが設定されている場合にだけ true
例外:
ArithmeticException - n が負の場合

setBit

public BigInteger setBit(int n)
値がこの BigInteger に等しい BigInteger を、指定されたビットを設定して返します ((this | (1<<n)) を計算する)。

パラメータ:
n - 設定するビットのインデックス
戻り値:
this | (1<<n)
例外:
ArithmeticException - n が負の場合

clearBit

public BigInteger clearBit(int n)
値がこの BigInteger に等しい BigInteger を、指定されたビットをクリアして返します ((this & ‾(1<<n)) を計算する)。

パラメータ:
n - クリアするビットのインデックス
戻り値:
this & ‾(1<<n)
例外:
ArithmeticException - n が負の場合

flipBit

public BigInteger flipBit(int n)
値がこの BigInteger に等しい BigInteger を、指定されたビットを反転させて返します ((this ^ (1<<n)) を計算する)。

パラメータ:
n - 反転するビットのインデックス
戻り値:
this ^ (1<<n)
例外:
ArithmeticException - n が負の場合

getLowestSetBit

public int getLowestSetBit()
この BigInteger のもっとも右側 (1 番低い位) の 1 ビットのインデックス (もっとも右側の 1 ビットの右方向の 0 ビットの数) を返します。この BigInteger に 1 ビットが 1 つも含まれない場合は -1 を返します ((this==0? -1 : log2(this & -this)) を計算する)。

戻り値:
この BigInteger のもっとも右側の 1 ビットのインデックス

bitLength

public int bitLength()
この BigInteger の最小の 2 の補数表現内のビット数を返します。ただし、符号ビットを除きます。正の BigInteger については、通常の 2 進表現におけるビットの数に等しくなります ((ceil(log2(this < 0 ? -this : this+1))) を計算する)。

戻り値:
この BigInteger の最小の 2 の補数表現内のビットの数。ただし符号ビットは除く

bitCount

public int bitCount()
この BigInteger の 2 の補数表現内の、符号ビットと異なるビットの数を返します。このメソッドは BigInteger 上にビットベクトル形式の設定を実装する場合に便利です。

戻り値:
この BigInteger の 2 の補数表現内の、符号ビットと異なるビットの数

isProbablePrime

public boolean isProbablePrime(int certainty)
この BigInteger が素数である可能性が高い場合は true を返し、必ず合成数である場合は false を返します。

パラメータ:
certainty - 呼び出し側が許容しない確率の尺度。この BigInteger が素数である確率が (1 - 1/2certainty) を超える場合は true を返す。実行時間はこのパラメータの値に比例する
戻り値:
この BigInteger が素数である可能性が高い場合は true、必ず合成数である場合は false

compareTo

public int compareTo(BigInteger val)
この BigInteger を指定された BigInteger と比較します。このメソッドは、6 つの boolean 型の比較演算子 (<、==、>、>=、!=、<=) のそれぞれに対する個々のメソッドの代わりに提供されます。これらの比較を行うには (x.compareTo(y) <op> 0) という組み合わせをお勧めします。この場合、<op> には 6 つの演算子のうちの 1 つが入ります。

パラメータ:
val - この BigInteger と比較する BigInteger
戻り値:
この BigInteger の値が val より小さい場合は -1、等しい場合は 0、大きい場合は 1

compareTo

public int compareTo(Object o)
この BigInteger を指定した Object と比較します。Object が BigInteger の場合、このメソッドは compareTo(BigInteger) と同じように動作し、それ以外の場合は ClassCastException をスローします (BigInteger はほかの BigInteger としか比較できない)。

定義:
インタフェース Comparable 内の compareTo
パラメータ:
o - この BigInteger と比較する Object
戻り値:
この BigInteger の値が o より小さい場合は負の数、等しい場合は 0、大きい場合は正の数。o は BigInteger でなければならない
例外:
ClassCastException - o が BigInteger ではない場合
導入されたバージョン:
1.2
関連項目:
compareTo(java.math.BigInteger), Comparable

equals

public boolean equals(Object x)
この BigInteger と指定された Object が等しいかどうかを比較します。

オーバーライド:
クラス Object 内の equals
パラメータ:
x - この BigInteger と比較する Object
戻り値:
指定された Object が、この BigInteger と値が等しい BigInteger である場合にだけ true
関連項目:
Object.hashCode(), Hashtable

min

public BigInteger min(BigInteger val)
この BigInteger と val の最小値を返します。

パラメータ:
val - 最小値を計算する値
戻り値:
この BigInteger と val のうちで小さい方の値を持つ BigInteger。値が等しい場合はどちらかが返される

max

public BigInteger max(BigInteger val)
この BigInteger と val の最大値を返します。

パラメータ:
val - 最大値を計算する値
戻り値:
この BigInteger と val のうちで大きい方の値を持つ BigInteger。値が等しい場合はどちらかが返される

hashCode

public int hashCode()
この BigInteger のハッシュコードを返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
この BigInteger のハッシュコード
関連項目:
Object.equals(java.lang.Object), Hashtable

toString

public String toString(int radix)
指定された基数内のこの BigInteger の String 表現を返します。基数が Character.MIN_RADIX (2) 〜 Character.MAX_RADIX (36) の範囲外の場合は、デフォルトを 10 に設定します (Integer.toString の場合と同じ)。Character.forDigit による数字から文字へのマッピングが使用され、必要に応じてマイナス符号が前に付けられます (この表現は String と int を引数とするコンストラクタと互換性がある)。

パラメータ:
radix - String 表現の基数
戻り値:
指定された基数内のこの BigInteger の String 表現
関連項目:
Integer.toString(int, int), Character.forDigit(int, int), BigInteger(java.lang.String, int)

toString

public String toString()
この BigInteger の 10 進 String 表現を返します。Character.forDigit による数字から文字へのマッピングが使用され、必要に応じてマイナス符号が前に付けられます (この表現は String を引数とするコンストラクタと互換性があり、Java の + 演算子との連結を考慮したものである)。

オーバーライド:
クラス Object 内の toString
戻り値:
この BigInteger の 10 進数の String 表現
関連項目:
Character.forDigit(int, int), BigInteger(java.lang.String)

toByteArray

public byte[] toByteArray()
この BigInteger の 2 の補数表現を含むバイト配列を返します。バイト配列は「ビッグエンディアン」のバイト順序です (最上位のバイトは [0] 番目の要素)。配列には、最低 1 つの符号ビットを含むこの BigInteger の表現に必要な最小のバイト数 ((ceil((this.bitLength() + 1)/8))) が含まれます (この表現は byte[] を引数とするコンストラクタと互換性がある)。

戻り値:
この BigInteger の 2 の補数表現を含むバイト配列
関連項目:
BigInteger(byte[])

intValue

public int intValue()
この BigInteger を int に変換します。これは、「Java 言語仕様」で定義されている標準の「ナロープリミティブ変換」です。この BigInteger が大き過ぎて int に適さない場合は、下位の 32 ビットだけが返されます。

定義:
クラス Number 内の intValue
戻り値:
int に変換されたこの BigInteger

longValue

public long longValue()
この BigInteger を long に変換します。これは、「Java 言語仕様」で定義されている標準の「ナロープリミティブ変換」です。この BigInteger が大き過ぎて long に適さない場合は、下位の 64 ビットだけが返されます。

定義:
クラス Number 内の longValue
戻り値:
long に変換されたこの BigInteger

floatValue

public float floatValue()
この BigInteger を float に変換します。これは、「Java 言語仕様」で定義されている double から float への「ナロープリミティブ変換」に類似しています。この BigInteger の絶対値が大き過ぎて float として表すことができない場合には、正または負の無限大に変換されます。

定義:
クラス Number 内の floatValue
戻り値:
float に変換されたこの BigInteger

doubleValue

public double doubleValue()
この BigInteger を double に変換します。これは、「Java 言語仕様」で定義されている double から float への「ナロープリミティブ変換」に類似しています。この BigInteger の絶対値が大き過ぎて double として表すことができない場合には、正または負の無限大に変換されます。

定義:
クラス Number 内の doubleValue
戻り値:
double に変換されたこの BigInteger

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.