c++数学函数运算,浮点数据相等判断

#pragma once                  //防止文件被多重包含
#include <stdio.h>
#include <stdlib.h>
#include <string>             //字符串
#include <memory>             //内存操作
#include <numeric>            //数值计算算法
#include <math.h>             //数值计算算法
#include <complex>
#include <algorithm>		  //min函数和max函数

using namespace std;

const float  FLOATERROR = 1.0e-6F;   //最小浮点数,浮点比较误差
const double DOUBLEERROR = 1.0e-15;  //最小double,比较误差
const long double LONGDOUBLEERROR = 1.0e-30;   //long double比较误差
const double GoldNo = 0.618033399;		//黄金分割常数(1.0-0.381966)
const double inf = DBL_MAX;   //无穷大
const double pi = 3.1415926535898;   //圆周率
const double eps = DOUBLEERROR;  //精度容许误差

//判断float浮点数相等
inline bool FloatEqual(float lhs, float rhs)
{
	if (std::abs(lhs - rhs) < FLOATERROR)
		return true;
	else
		return false;
}
//判断float浮点数不相等
inline bool	FloatNotEqual(float lhs, float rhs)
{
	if (std::abs(lhs - rhs) >= FLOATERROR)
		return true;
	else
		return false;
}
//判断double浮点数相等
inline bool	FloatEqual(double lhs, double rhs)
{
	if (std::abs(lhs - rhs) < DOUBLEERROR)
		return true;
	else
		return false;
}
//判断double浮点数不相等
inline bool	FloatNotEqual(double lhs, double rhs)
{
	if (std::abs(lhs - rhs) >= DOUBLEERROR)
		return true;
	else
		return false;
}
//比较两long double浮点数相等
inline bool	FloatEqual(long double lhs, long double rhs)
{
	if (std::abs(lhs - rhs) < LONGDOUBLEERROR)
		return true;
	else
		return false;
}
//比较两long double浮点数不相等
inline bool	FloatNotEqual(long double lhs, long double rhs)
{
	if (std::abs(lhs - rhs) >= LONGDOUBLEERROR)
		return true;
	else
		return false;
}
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付 29.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值