如何比较C++中的浮点变量
How to compare floating point variables in C++?
这篇文章指出,由于舍入误差,不应该将浮点变量与==
进行比较。我应该在什么时候使用什么?
您可以使用if (abs(result - expected) < 0.00001)
或者对于相对误差,而不是绝对误差:
float relativeError = abs((A - B) / B);
if (relativeError <= maxRelativeError)
请参阅此了解更多详细信息。http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
相关文章:
- 算术运算的结果类似于:C浮点变量中的1/3
- 为什么双精度引用值在分配给C++中的浮点变量时不会更改
- 是否可以保证浮点变量的副本将按位等效于原始副本?
- 直接为浮点变量分配十六进制整数与通过指针转换分配之间的区别
- 为什么将浮点变量与另一个浮点变量的缩减为int给出了完全不同的答案
- 如何线性化两个浮点变量的乘积
- 在不同翻译单元中具有静态存储持续时间的依赖非局部常量浮点变量的常量初始化
- 比较 C++ 中的两个浮点变量
- 我创建了一个将雷亚尔转换为美元的程序,但浮点变量不正确
- 浮点变量不存储十进制
- 在 c++ 中,浮点变量除以整数变量时的结果类型
- 在C 中声明一个八倍精度浮点变量
- 有符号浮点变量转换为无符号DWORD
- 比较浮点变量
- 浮点变量变为无穷大
- 在C++中对浮点变量执行算术时,是否始终需要使用浮点数文字
- 当两个整数相乘并将结果存储在浮点变量中时,结果是否可以流动
- 在文本浏览器中打印Qt浮点变量
- 如何比较C++中的浮点变量
- 使用int错误进行浮点变量计算