浮点数比较
核心部分代码
cosnt double eps=1e-8;
const double pi=acos(-1.0);
#define Equ(a,b) ((fabs((a)-(b)))<(eps))
#define More(a,b) (((a)-(b))>(eps))
#define Less(a,b) (((a)-(b))<(-eps))
#define MoreEqu(a,b) (((a)-(b))>(-eps))
#define LessEqu(a,b) (((a)-(b))<(eps))
注意!abs与fabs
sort函数的cmp
bool cmp(node a,node b)
{
return a.score<b.score;//代表从小到大排序
}
打表
①在程序中一次性计算出所有需要用到的结果,例如斐波拉契数列的前几项值直接填入数组直接查询
②在程序b中分一次或多次计算出所有需要用到的结果,手工把结果写在程序A的数组中,然后同上
③暴力算小范围结果,找规律
本文深入探讨了在编程中如何精确比较浮点数,定义了误差边界eps并提供了比较宏。同时介绍了使用sort函数时的自定义比较函数cmp,以及优化程序性能的策略,如预计算和查找表技术。此外,还强调了在实际应用中处理浮点数精度问题的重要性。
2298

被折叠的 条评论
为什么被折叠?



