EPS (実数)

提供: MonoBook
移動: 案内検索

EPSとは、浮動小数点演算の過程で発生する演算誤差により、 比較結果がおかしくなることを防ぐために使われる小さな値である。

主に1e-7~1e-10程度が使用される。(要出典)

使用方法[編集]

#include <math.h>
#define EPS 1e-7
double a,b;
 
a<b+EPS		/* a<=b */
a+EPS<b		/* a<b  */
fabs(a-b)<EPS	/* a==b */

使用例[編集]

#include <stdio.h>
 
#define EPS 1e-7
 
int main(void) {
	double a;
	for(a=0.0;a+EPS<10.0;a+=0.1) {
		printf("%.1f\n",a);
	}
	return 0;
}

このコードはよく実数演算の誤差により意図しない結果が出てくる例として示されるコードを改良したものであるが、 EPSを使用することにより比較結果が直感に近くなっていることがわかる。