11/09/26 19:47:30.84
浮動小数点を64ビットで扱うある処理系では、内部では
0.500→ 3F E0 00 00 00 00 00 00
1.000→ 3F F0 00 00 00 00 00 00
2.000→ 40 00 00 00 00 00 00 00
3.000→ 40 08 00 00 00 00 00 00
4.000→ 40 10 00 00 00 00 00 00
0.100→ 3F B9 99 99 99 99 99 9A
0.200→ 3F C9 99 99 99 99 99 9A
0.300→ 3F D3 33 33 33 33 33 33
の様な感じで保存している。整数値や、0.5等は綺麗(=誤差無し)だが0.1等では誤差が入り込んでいる
様子を確認してもらえると思う。
>> 問題は例えばソコですか?
あなたが何を問題にしたのかは知らないが、私が指摘したのは、>>69の
>> 浮動少数だと加法も乗法もどちらも発生誤差があるからね。
これ。計算機で浮動小数点を用いても、誤差が入り込まない場合だってある。
また、計算機の浮動小数点表現は、精度をある程度制限し、扱える桁数を大きくしたもの。その性質が目的の
用途に適していたなら使えばいいし、そうでなければ、整数型変数や、多倍長処理を導入すればいい。
要はどのように設計するか。