16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"RE:浮動小数点の誤差の話"
この発言は #00077 Dia さんのある点が三角形の中か外か に対するコメントです
この発言に対し以下のコメントが寄せられています
#00084 Dia さん RE^2:浮動小数点の誤差の話
Dia さん、こんにちは。龍平です。
>*1* ここの不等号を > にすると、線の上は外とみなすようになります。
> 現行では、線上は中とみなします。
一般論なんですが、リアル値の=を期待するのは危険ではないでしょうか。
A := なんだかんだ演算;
B := そんなこんな演算;
んでぇ〜、理論的には A = B のはずなんですがぁ〜
if A = B then begin
・・・ってやると、経験上まぁ〜ず then には来ません。(^_^;) マジデ
σ(^_^) ワタシ は自分のスタイルとして、
Eps := 0.000001; //誤差範囲 (注:システムの根幹に関る重要な値っす。)
if abs( A - B ) < Eps then begin
イコ〜ルの時の処理;
end;
・・・って書くようにしております。
「演算誤差」ではかなりひっでぇ〜目に遭ってますんで老婆心ながら。(^_-) パチッ
97/10/23(木) 鈴木・タマネギ4号・龍平(LDH00465)
m(__)m メイル は (HCA01167) へお願いします。
Original document by 龍平 氏 ID:(LDH00465)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|