私はBigDecimal Classを読んでいましたが、どのようにしてコンピュータメモリに値が格納されているのかについての情報は見つかりませんでした。BigDecimal
BigDecimalはどのように実装されていますか?
この情報を提供する信頼できる情報源はありますか?
私はBigDecimal Classを読んでいましたが、どのようにしてコンピュータメモリに値が格納されているのかについての情報は見つかりませんでした。BigDecimal
BigDecimalはどのように実装されていますか?
この情報を提供する信頼できる情報源はありますか?
数字の桁数がlongに収まるのに十分な場合は、有効桁数がlongに格納されます。そうでない場合、BigIntegerに格納されます。さらに、BigDecimalには、scale and precisionを表すintプリミティブと、小数点以下の有効桁数を表す桁数と、その桁数の有効桁数を示す精度があります。
BigDecimalのスケーリングされていない値はBigIntegerに格納されます。 32ビット整数のbig-endianアレイ、及び別の32ビット整数として別々に符号として
BigInteger intVal
int scale
int precision
BigInteger格納整数:precision and scaleは整数フィールドに別々に格納されています。
int signum
int[] mag
しかしMuhdが言うように数が64ビットの整数に合うことができるならば、これは代わりのBigIntegerの使用されています。
Javaはオープンソースです。私はちょうどその[ソースコード](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/java/math/BigDecimal.java/)を見てみよう。 。 – BalusC
しかし、私はそれがソースコードからどのように動作するかを知るためにJavaではうまくいきません。 –
ソースを読むことは、Javaをより良くするための1つの方法です。 – trashgod