[API] java.math.BigIntegerクラス

java.math.BigIntegerは、任意の精度の整数を表すJavaのクラスです

java.math.BigIntegerの特徴

java.math.BigIntegerは以下の特徴があります。

  • intやlongの範囲を超える非常に大きな値を扱うことができる
  • BigIntegerのまま四則演算などの演算が可能
  • プリミティブ型に変換するメソッドも用意されている

java.math.BigIntegerの継承・実装

継承クラス

java.lang.Object
 ・java.lang.Number
  ・java.math.BigInteger

実装インターフェース

java.io.Serializable
・java.lang.Comparable<BigInteger>

導入バージョン

・JDK1.1

java.math.BigIntegerのAPI

【主要定数】
定数説明
BigIntegerONE定数1
BigIntegerTEN定数10
BigIntegerZERO定数0
【主要メソッド】
戻値型メソッド静的説明
BigIntegerabs()絶対値を返す
BigIntegeradd(BigInteger val)valを加算した値を返す
BigIntegersubtract(BigInteger val)valを減算した値を返す
BigIntegermultiply(BigInteger val)valを乗算した値を返す
BigIntegerdivide(BigInteger val)valを除算した値を返す
floatfloatValue()float型に変換した値を返す
(オーバーフローする場合は切捨てられる)
doubledoubleValue()double型に変換した値を返す
(オーバーフローする場合は切捨てられる)
intintValue()int型に変換した値を返す
(オーバーフローする場合は切捨てられる)
intintValueExact()int型に変換した値を返す
(オーバーフローする場合は例外)
longlongValue()long型に変換した値を返す
(オーバーフローする場合は切捨てられる)
longlongValueExact()long型に変換した値を返す
(オーバーフローする場合は例外)
BigIntegermax(BigInteger i)大きい方を返す
BigIntegermin(BigInteger i)小さい方を返す
BigIntegerpow(int n)n乗した値を返す
BigIntegersignum()符号を返す
負の場合は-1、ゼロの場合は0、正の場合は1

java.math.BigIntegerサンプル

(BigIntegerを使用した四則演算の例)

import java.math.BigInteger;

public class SampleClass {

    public static void main(String[] args) {

        // BigInteger値の生成
        BigInteger num1 = new BigInteger("12345678901234567890");
        BigInteger num2 = new BigInteger("98765432109876543210");

        // 加算
        BigInteger a = num1.add(num2);
        System.out.println("加算結果: " + a);

        // 減算
        BigInteger b = num1.subtract(num2);
        System.out.println("減算結果: " + b);
        
        // 乗算
        BigInteger c = num1.multiply(num2);
        System.out.println("乗算結果: " + c);

        // 除算
        BigInteger d = num1.divide(num2);
        System.out.println("除算結果: " + d);

    }
}

(実行結果)
C:\>java SampleClass 加算結果: 111111111011111111100 減算結果: -86419753208641975320 乗算結果: 1219326311370217952237463801111263526900 除算結果: 0

コメント

タイトルとURLをコピーしました