>>843-845
あえて言うならdoubleの有効桁数までは保持している。
doubleは2進数で値を保持していて、10進表現に直したときに0.3333... が続くだけ。
もし、最初から最後まで10進数で計算(誤差も自分で制御)したいならBigDecimal使うよろし