>>491
なるほど。丸め誤差ですね。
http://e-words.jp/w/E4B8B8E38281E8AAA4E5B7AE.html
0.5 0.25 0.125 ... を組み合わせて足してできる小数でないと、
丸め誤差が生じます。
誤差をがある数を足しあわせたら、答えも誤差を含みます。
これが、答えの一方になります。
わかりづらいようでしたら、十進数の0.1を二進数に変換してみてください。
これが後段の答えです。
前段の答えは、
printf()が十進数でいうところの四捨五入を行う位置が違うからです。

私は国語が苦手なので、答えはそちらでまとめてくださいね。