C++比较双打
C++ Comparing Doubles
使用双精度的<或>是否有任何已知问题?或>
d1 > d2
d2 > d1
我找不到任何表明这将是一个问题的东西。
但是,由于平等问题,我认为这将是一个问题,我将不得不使用 Epsilon 使用"几乎相等"逻辑:
d1 >= d2
d2 >= d1
>
和<
完全按预期工作;如果d1
的值大于d2
的值,则d1 > d2
将被true
(反之亦然)。 问题(如果有的话)是d1
和d2
可能不完全是预期的值。
但是,将>
替换为>=
将更改一个值 d1
的行为(对于固定值 d2
)。
唯一的问题是你可能会得到一个"误报",其中有两个变量d1
和d2
你认为具有相等的值。在这种情况下,如果您执行d1 > d2
,则表达式的计算结果有可能为 true。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 为什么比较运算符如此快速
- 我可以使用 g++ 进行三种比较 (<=>) 吗?
- 比较字符数组
- 将模板化的类型与C++中的某些类/类型进行比较
- C++自定义比较函数
- 如何比较自定义类的std::变体
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- std::设置自定义比较器
- 布尔比较运算符是如何在C++中工作的
- C++将目录中的所有文件与::filesystem进行比较
- shell排序中的交换和比较
- 如何在C++中比较两个char数组
- catch框架有没有办法比较流或文件
- 从文件中读取多个字节,并将它们存储在C++中进行比较
- 智能指针作为无序映射键,并通过引用进行比较
- 比较if语句中的数组值和int值
- 对于循环变体比较
- 使用自定义比较函数使用std::sort()对矢量字符串进行排序时出现问题
- 比较两个大小不等的映射c++