JavaまたはC++で128ビット整数を持つことは可能ですか?
6 に答える
もちろん、あなたはそれらを表すことができます。
少なくとも、 16 個の要素を持つバイト配列を使用できます。
ただし、問題は、値を表現したいだけなのか、それとも実際に値を使って計算したいのかということです。
Java では、BigInteger
(効果的に) 任意のサイズの整数値を表し、計算も行うことができます。
Java では、BigIntegerクラスを使用して任意の大きな整数を格納できます。C++ では、 GMPのようなライブラリを使用して同じ機能を得ることができます。
あなたはできる。ただし、少なくとも C++ の場合は、ライブラリを使用してこれを行う必要があります。
PolarSSLライブラリまたはGNU MP Bignumライブラリが好きです。
このBigInteger
クラスは、 より大きい整数値用に設計されていますLong.MAX_VALUE
。
もちろん、java.math パッケージのBigIntegerクラスを使用できます。このクラスは、剰余演算、GCD 計算、素数テスト、素数生成、ビット操作などの操作を提供します。
このクラスは、JDK1.1自体に追加されました。
しかし、C++ ライブラリにそのような可用性が組み込まれていることは知りません。サードパーティからの拡張可能な API が存在する場合があります。
java.math.BigInteger
64 ビット (long のサイズ) より大きい整数を扱うには、java.math.BigInteger を使用します。このクラスは無制限の整数を表し、それらを使って算術演算を行うための多数のメソッドを提供します。
http://leepoint.net/notes-java/data/numbers/10biginteger.html
小数値が必要な場合は、BigDecimalを使用します