JavaTM 2 Platform
Standard Ed. 5.0

java.math
クラス BigInteger

java.lang.Object
  上位を拡張 java.lang.Number
      上位を拡張 java.math.BigInteger
すべての実装されたインタフェース:
Serializable, Comparable<BigInteger>

public class BigInteger
extends Number
implements Comparable<BigInteger>

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

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

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

ビット単位の論理演算のセマンティクスは、Java のビット整数演算子のセマンティクスを正確に模倣しています。2 項演算子 (andorxor) は、演算前に 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 をスローします。

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

フィールドの概要
static BigInteger ONE
          BigInteger 定数 1 です。
static BigInteger TEN
          BigInteger 定数 10 です。
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 と比較します。
 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 nextProbablePrime()
          この 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

TEN

public static final BigInteger TEN
BigInteger 定数 10 です。

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

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 の絶対値配列は許容され、符号が -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_RADIXCharacter.MAX_RADIX の範囲外にある場合
関連項目:
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

nextProbablePrime

public BigInteger nextProbablePrime()
この BigInteger より大きい最初の整数 (おそらく素数) を返します。このメソッドの返す数が合成数である確率は 2-100 を超えません。このメソッドは検索時に素数をスキップしません。p を返す場合、this < q < p が成り立つような素数 q はありません。

戻り値:
この BigInteger より大きい最初の整数。おそらく素数
例外:
ArithmeticException - this < 0
導入されたバージョン:
1.5

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 が 0 以下である場合、true を返します。

パラメータ:
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 つが入ります。

定義:
インタフェース Comparable<BigInteger> 内の compareTo
パラメータ:
val - この BigInteger と比較する BigInteger
戻り値:
この BigInteger の値が val より小さい場合は -1、等しい場合は 0、大きい場合は 1

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_RADIXCharacter.MAX_RADIX の範囲外の場合は、デフォルトを 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 言語仕様』で定義された long から int への 「ナロープリミティブ変換」と同様です。この BigInteger が長すぎて int 内に収まらない場合、下位 32 ビットだけが返されます。この変換により、この BigInteger 値の絶対値全体に関する情報が失われ、結果が逆の符号で返される可能性があります。

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

longValue

public long longValue()
この BigInteger を long に変換します。この変換は、『Java 言語仕様』で定義された long から int への 「ナロープリミティブ変換」と同様です。この BigInteger が長すぎて long 内に収まらない場合、下位 64 ビットだけが返されます。この変換により、この BigInteger 値の絶対値全体に関する情報が失われ、逆の符号で返される可能性があります。

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

floatValue

public float floatValue()
この BigInteger を float に変換します。この変換は、『Java 言語仕様』で定義された double から float への 「ナロープリミティブ変換」と同様です。この BigInteger が大きすぎて float として表現できない場合、適宜 Float.NEGATIVE_INFINITY または Float.POSITIVE_INFINITY に変換されます。戻り値が有限である場合も、この変換により、BigInteger 値の精度に関する情報が失われる可能性があります。

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

doubleValue

public double doubleValue()
この BigInteger を double に変換します。この変換は、『Java 言語仕様』で定義された double から float への 「ナロープリミティブ変換」と同様です。この BigInteger が大きすぎて double として表現できない場合、適宜 Double.NEGATIVE_INFINITY または Double.POSITIVE_INFINITY に変換されます。戻り値が有限である場合も、この変換により、BigInteger 値の精度に関する情報が失われる可能性があります。

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

JavaTM 2 Platform
Standard Ed. 5.0

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

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。