[#43103] 浮動小数点を比較するには — wada toshiki <wada-ts@...>

お世話になります。

21 messages 2007/01/11
[#43105] Re: 浮動小数点を比較するには — NISHIMATSU Takeshi <t_nissie@...> 2007/01/11

> Rubyレシピブック(P290)で 比較する数値の差を Float::EPSILON と比較する方法があり

[ruby-list:43128] Re: 浮動小数点を比較するには

From: NISHIMATSU Takeshi <t_nissie@...>
Date: 2007-01-15 16:41:59 UTC
List: ruby-list #43128
> > 測量計算をしたいので浮動小数点を比較する場面が結構あるのですが、この扱いに悩まさ
> > れます。
> 
> ずっと見ててもやっぱり分からないので、どなたか教えていただけるとありがた
> いです。これはBigDecimalを使っても、やっぱり困る場面なのでしょうか?

測量では三角関数(や、さらには球面三角関数も?)なんかが出てくるので、
どんなもんでしょう。測量学にも誤差の議論があったと思います。測量中に
三脚に触るなと怒られたり(関係ないですが;-)。

浮動小数点演算については、

David Goldberg
西村恕彦訳
『浮動小数点演算について計算機科学者は何を知っておくべきか』
共立出版のbitかbit別冊???

@article{goldberg1991ecs,
  title={{What every computer scientist should know about floating-point arithmetic}},
  author={David Goldberg},
  journal={ACM Computing Surveys},
  volume={22(23?)},
  number={1},
  pages={5--48},
  year={1991}}

が詳しくて、かつ一晩で読める分量なのでオススメです。「言語仕様は、理想的には
プログラムについての命題を証明するのに十分なだけの精密さで、言語の意味を定義
すべきである。これは言語仕様における整数の部分に対しては通常成立しているのに、
浮動小数点になると広い灰色領域がしばしば放置されている(modula-3は例外である)。」
と辛口だったり、謝辞に「午前8時の教室に間に合うように起きなくても、浮動小数
点と計算機システムの相互作用を学べることを、この論文のねらいとした。」などと
あったりしておもしろいです。IEEE標準についても詳しく書いてあります。

IntelのCPUの浮動小数点演算がIEEE標準からちょっと外れることについては、Pentium
Processor Family Developer's Manualを見るのが確実だと思います。

-- 西松タケシ




In This Thread