>>121
浮動小数点をそういう電卓に喩えるのはまずい。
1.234D56のように仮数部と指数部に分けて表現する、これが浮動小数点の
基本概念。仮数部で有効桁を、指数部でオーダーを表すわけです。
「100を0.0000003で割ったら」、0.3333333333D9などとなり、これは
勿論(有効桁分は)正確に表現できます。
したがって>>のとさんのように1.0D-200は0ではないちゃんとした値であって、
きちんと計算出来て欲しいというのはもっともです。実際その値そのものは
正確に保持しているわけですからね。しかしこの考えはプログラミングの
観点からは非常に危なっかしい。この値がどこから出てきたのかというのが
問題になります。最初から例えばプランク定数で定義され、素粒子の世界だけ
で閉じている計算から出てきたものであればまあ一応OK(一応と付け足した
のは、これでも問題があるからですが、これは後回しにします)。しかし
現実に相手にしているのは有限要素法なんかだとmmとかμmとかの世界であって、
せいぜいD-10程度のオーダー。こういうオーダーの計算を行っている途中に
D-200などのオーダーの値が出てきたら、これはもうゼロ以外の何の意味も
持ちません。その辺りの考え方がアバウトなようで、心配なわけです。
と、ここまで書いて本当にここら辺りの問題をうまく伝えられるのかが疑問に
思えてきた(苦笑
まあ、のとさんも色々試行錯誤しているようで、その結果待ちということに
しましょう(w