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
型 | 定数 | 説明 |
---|---|---|
BigInteger | ONE | 定数1 |
BigInteger | TEN | 定数10 |
BigInteger | ZERO | 定数0 |
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
BigInteger | abs() | 絶対値を返す | |
BigInteger | add(BigInteger val) | valを加算した値を返す | |
BigInteger | subtract(BigInteger val) | valを減算した値を返す | |
BigInteger | multiply(BigInteger val) | valを乗算した値を返す | |
BigInteger | divide(BigInteger val) | valを除算した値を返す | |
float | floatValue() | float型に変換した値を返す (オーバーフローする場合は切捨てられる) | |
double | doubleValue() | double型に変換した値を返す (オーバーフローする場合は切捨てられる) | |
int | intValue() | int型に変換した値を返す (オーバーフローする場合は切捨てられる) | |
int | intValueExact() | int型に変換した値を返す (オーバーフローする場合は例外) | |
long | longValue() | long型に変換した値を返す (オーバーフローする場合は切捨てられる) | |
long | longValueExact() | long型に変換した値を返す (オーバーフローする場合は例外) | |
BigInteger | max(BigInteger i) | 大きい方を返す | |
BigInteger | min(BigInteger i) | 小さい方を返す | |
BigInteger | pow(int n) | n乗した値を返す | |
BigInteger | signum() | 符号を返す 負の場合は-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
コメント