>>715
> >>712
> doubleで超えるって・・・何の計算するんだ?
> そもそも浮動少数は範囲が保証じゃなくて有効桁数で保持してるだけ
> 誤差を前提にそれらしい値をとるだけ
10進2進変換誤差もある程度解決できるし、金融系にも使えるし
研究にもつかえるし、ま、いいんでないかと。
あとJakarta Commons MathのAPIに
BigMatrixというクラスが追加されたぞ。
BigDecimal対応だ。待ちに待っていた、という感じだぜ。
今まで自作していたんだけどな。

Overview (Math 1.2-dev API)
http://jakarta.apache.org/commons/math/apidocs/org/apache/commons/math/linear/package-summary.html

> それはBigDecimalでもどこで切るかというだけでいえることだけどね

その心配も、Java SE 5 Tigerから追加された
java.math.MathContextというクラスで解決できる。
こいつで桁数精度を指定してnewしたオブジェクトと、
RoundingMode列挙型をBigDecimalのコンストラクタに指定すれば
自動的に指定された場所で切ってくれる。
すでに列挙型定数としてDECIMAL_128とかいうのがあって
そいつを指定すれば128bitsで計算してくれる。
C#のdecimal型とほぼ同じ精度で計算ができるようになる。
BIgDecimalにはスケールというフィールドが用意されていて
そいつをBigDecimal#setScale()で調整できる。

Commons Mathは複素数や正規分布とか統計学とか
ガンマ関数、β関数とかも追加されて気がつけば
凄いことになってるな。