C++ 检查一个 double 是否在另一个 double (+/-) 的 .1 范围内

标签 c++ arrays multidimensional-array compare

我正在运行一些代码,我需要比较两个二维数组的差异。我尝试使用以下代码行来检查和比较值,但每次测试都失败 = if(arr1[a][b] != arr2[a][b] || arr1[a ][b] + .1 != arr2[a][b] || arr1[a][b] - .1 != arr2[a][b]) {.

我知道这是因为 || 语句而失败,因为满足了其中一个要求。所以我必须找到另一种方法来确定存储在数组中特定位置的 double 是否与并行位置中的另一个数组匹配。

这是我的完整代码:

int numberOfFailedCompares = 0;
for(int a = 0; a < 20; a++) {
    int b = 0;
    while(b < 20) {

        if(arr1[a][b] != arr2[a][b] || arr1[a][b] + .1 != arr2[a][b] || arr1[a][b] - .1 != arr2[a][b]) {
            numberOfFailedCompares++;
            cout << numberOfFailedCompares << endl;
        }

        b++;
    }
}

C++ 中是否有语句允许我检查值是否在 +/- .1 阈值范围内?有点像

if(arrLocation1 (+/- .1) == arrLocation1) {
... 
}

最佳答案

“方差”是指“在 X 内”,而不是“等于某物加 X 或某物减去 X”。您不是比较相等性,而是比较小于/大于方差。因此,例如,要测试 +/- .1 的方差:

if (b >= a-.1 && b <= a+.1)

关于C++ 检查一个 double 是否在另一个 double (+/-) 的 .1 范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35736731/

相关文章:

c++ - 当我什至无法进入代码时如何调试 "This application has requested the Runtime to terminate it in an unusual way."?

c++ - 在 header 或 .cpp 中重载输入操作 >>

java - 如何在kotlin中获取多维原始数组类?

java - Java 中的多键到单值映射

c++ - 如何初始化对引用对象的引用是类成员?

c++ - 禁止使用模板化的虚拟成员函数,有替代方法吗?

php - 从表中检索特定行并将每一行存储为 session 中的关联数组

php - 通过比较行来获取两个多维数组之间的差异

javascript - 无法将普通数组转换为 jquery 数组

jquery - 如何在jquery cookie中存储数组?