Java での非常に大きな数値の処理
Java で非常に大きな数値の計算を実行する場合、int や long などのプリミティブ データ型を利用すると、範囲が限られているため十分ではありません。この問題に対処するために、Java は java.math パッケージ内に 2 つのクラスを提供します。整数計算用の BigInteger と 10 進数計算用の BigDecimal です。
BigInteger の使用
整数の場合、 BigInteger クラスを使用すると、任意精度の値の計算が可能になります。 BigInteger を作成するには、そのコンストラクターを使用して、数値を表す String を渡します。
BigInteger reallyBig = new BigInteger("1234567890123456890"); BigInteger notSoBig = new BigInteger("2743561234");
BigInteger オブジェクトに対して加算、減算、乗算などの演算を実行すると、非常に大きな数値であっても正確な結果が得られます。
reallyBig = reallyBig.add(notSoBig);
を使用するBigDecimal
10 進数を含む計算の場合、BigDecimal クラスは BigInteger と同様の機能を提供します。 new BigDecimal(String) または new BigDecimal(double) を使用して BigDecimal を初期化できます。
BigDecimal number1 = new BigDecimal("3.14159265358979323846"); BigDecimal number2 = new BigDecimal("2.71828182845904523536");
BigDecimal オブジェクトに対する加算、減算、乗算、除算などの演算では、精度と精度が維持されます。
使用例
次のことを考慮してください例:
BigInteger number1 = new BigInteger("100000000000000000000"); BigInteger number2 = new BigInteger("1000"); BigInteger result = number1.multiply(number2); System.out.println(result); // Prints 100000000000000000000000
この例では、50 桁の精度で 2 つの非常に大きな数値を乗算します。結果は正確であり、さらなる計算に使用できます。
以上がJava は計算において非常に大きな数値をどのように処理できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。