很多网上的资料写浮点数记录不全面,会有很多不够清晰,最近自己总结一下,如果有不全面希望指正出来
/*
*@author: 赵秋然
*@date:2021年1月2日
*@description:判断浮点数比较总结
*/
#include<stdio.h>
#include<math.h>
double epv = 1e-8;
//相等
#define EQU(a,b) ((fabs((a)-(b))) <(epv))
//小于
#define LESS(a,b) (((a)-(b)) < (-epv))
//大于
#define MORE(a,b) (((a)-(b)) > (epv))
//大于等于
#define MORE_EQL(a,b) (((a)-(b)) > (-epv))
//小于等于
#define LESS_EQL(a,b) (((a)-(b)) < (epv))
int main()
{
double ds = 1.2345;
if (EQU(ds, 1.23))
{
printf("相等 \n");
}
else
{
printf("不相等 \n");
}
if (LESS(ds, 1.23))
{
printf("小于 \n");
}
else
{
printf("不小于\n");
}
if (MORE(ds, 1.23))
{
printf("大于 \n");
}
else
{
printf("不大于\n");
}
if (MORE_EQL(ds, 1.23))
{
printf("大于等于 \n");
}
else
{
printf("不大于等于\n");
}
if (LESS_EQL(ds, 1.23))
{
printf("小于等于 \n");
}
else
{
printf("不小于等于\n");
}
return 0;
}