ブックマーク / kidotaka.hatenablog.com (1)

  • java.math.BigDecimalの最大桁数(理論値) - きどたかのブログ

    面倒臭いことを調べることになったJavaプログラマーに捧ぐ すこし時間を割いて最大桁数を計算してみることにしました。 結論からいうと 2793926648桁くらいだと思う。 精度の限界は646443000桁くらいです。 無量大数が128桁です、と補足しておこう。 動かすことが出来るかは保証できない。 3GB与えても私はprecision()の結果を得られなかった。 では机上検証してみようか。 この式を用いますが、これだけでは足りませんね。 BigIntegerの内容が必要です。 BigIntegerのいまの実装を見ると、数字はint配列で持っているようです。 BigIntegerは2の補数表現で数字をもっているそうです。 2の補数というのは先頭ビットが1なら負で、0なら正です。 intは4バイトの符号付き整数です。 また、Integer.SIZEにあるように、 2の補数のバイナリ形式に使用

    java.math.BigDecimalの最大桁数(理論値) - きどたかのブログ
    fushiroyama
    fushiroyama 2014/03/17
    メモリの許す限りいくらでも大きい数字を計算できるってどういうことかと思ってたけど32bit intの配列でメモリがあふれるまで持つのね
  • 1