为什么要进行修正
浮点数比较误差产生:浮点数在经过运算之后会产生误差,
如3.14经过大量运算可能会变成3.140000001或者3.13999999
但是c/c++语言中的比较操作符 == 是严格按照想的呢个进行比较,
这就使得原本应该相等的两个数判断出现错误。为修正这种误差,
需要引入一个极小数进行修正。
经验表明,当极小数eps取10-8时是比较合适的数字。
const double eps=1e-8;
//这个时候定义判断相等为:
#define Equ(a,b) (fabs((a)-(b)))<(eps)
#define More(a,b) ((a)-(b))>(eps))
#define Less(a,b) (((a)-(b))<(eps))