2011年8月24日

[ruby-list:48338] Re: 1.25を %10.1f で出力したときバージョンにより表示に違いがでるのは何故でしょうか。

> 10進で単純に考えると0.4になりそうです..
> 単精度で銀行家丸めをしてみると(つまりRubyでない) 0.4になり、倍精度だと0.5になります。
> 0.45はバイナリで正確に表現できないので、というような説明があるのですが、
> 10進のまま考えてはいけないのでしょうか。

コンピュータの浮動小数点とはそういうもの(普通、2進)だからです。
ある意味で、期待した通りの「ちょうど5」のふるまいが起きるのは、たまたま
2進でちょうど表現できる時のみ、と考えていいでしょう(0.375とか)。

投稿者 xml-rpc : 2011年8月24日 14:23
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/105923
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。