「メモ」の編集履歴(バックアップ)一覧はこちら

メモ」(2006/05/22 (月) 00:14:03) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*数値誤差に頑強な幾何計算 幾何計算では,「ほとんどゼロ」を「正確にゼロ」とみなした方が都合のよい場合がよくあります.これを回避するためには static final double EPS = 1.0E-9; と定義してから, public static int fcompare(double x, double y){ if(Math.abs(x-y)<EPS) return 0; else if(x>y) return 1; else return -1; } といった比較関数を定義して,浮動小数点の比較にこれを使うようにすると問題を回避できます.
*数値誤差に頑強な幾何計算 幾何計算では,「ほとんどゼロ」を「正確にゼロ」とみなした方が都合のよい場合がよくあります.これを回避するためには static final double EPS = 1.0E-9; と定義してから, public static int fcompare(double x, double y){ if(Math.abs(x-y)<EPS) return 0; else if(x>y) return 1; else return -1; } といった比較関数を定義して,浮動小数点の比較にこれを使うようにすると問題を回避できます. *浮動小数点数をintにキャストして出力する 単に double a = ... System.out.println((int)a); と書くと,例えば a の値が正確には 4 のときに数値誤差で 3.999... になってしまい出力が変わってしまう場合があります.これを避ける方法として double a = ... System.out.println((int)(a + 1.0E-9)); と書く方法があります.

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー