タグ

Rubyと計算機イプシロンに関するni66lingのブックマーク (1)

  • 浮動小数点数の同値比較には計算機イプシロンを使うこと - Tociyuki::Diary

    コメントのご指摘のとおり Float::EPSILON は相対誤差のため、比較したい f と g の絶対値の大きな方を掛けるように比較条件式を変更しました。ご指摘ありがとうございます。 技術評論社御中。WEB+DB PRESS Vol.51 を送っていただきありがとうございます。 Vol. 51 の特集 1 は Ruby On RAILS を業務システムへ応用するノウハウ満載で、読み応えがあります。 ただ、1点だけ。以下の箇所を補足したいと思います。 浮動小数点問題 業務アプリケーションでよく問題になるのが浮動小数点です。浮動小数点の問題とは、来0、1しか扱えないコンピュータでは一部の小数点を正確に表現できないため、計算を行ううちに誤差が生じてしまうという問題のことです。 その精度は環境によって左右されますが、たとえば筆者の環境では次のような奇妙な結果になります。 > 1.0 - 0.9

    浮動小数点数の同値比較には計算機イプシロンを使うこと - Tociyuki::Diary
  • 1