変換の際には、表現しうる直近の数字へ丸めるとした場合、倍精度小数を相互変換で差異なく表せる10進数有効桁数は?
倍精度小数をテキスト形式で保存する場合には、10進数の有効桁数N桁表示で表すのが妥当だと考えています。 (例: 1.23456e+10
, などこの場合有効数字6桁)
無限に有効数字の桁数をとれるのであるならば、それは倍精度小数に再変換した際にも、もともとの数字に戻ってくることが保証できるような気がします。しかし、リソースは有限なので、必要以上の桁数を保存するのは無駄です。
質問
- 倍精度浮動小数を10進数の有効数値表示で保存する場合、元々の数字に必ず戻ってこれるような有効桁数のうち、最小のものはいくつですか?
- 2進数有効桁数表示である倍精度浮動小数と、10進数有効桁数表示の、形式の違いによって丸める必要が発生した場合、それは一番近い表現可能な値へと丸めることとします。