小编lan*_*neo的帖子

计算两个浮点数之间的距离是否对称?

对于Java程序,我编写了一个方法来计算两个浮点数之间的距离。该方法对于输入顺序对称地工作是非常重要的。目前我正在使用的方法:

double distanceBetween(double a, double b) {
    return Math.abs(a - b);  // I assume that a-b = -(b-a)
}
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否总是对称的,或者我是否应该将代码更改为:

double distanceBetween(double a, double b) {
    if (a > b) return a - b;
    else return b - a;
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是

Math.abs(a - b) == Math.abs(b - a)
Run Code Online (Sandbox Code Playgroud)

保证 a 和 b 的所有值始终为真?或者在某些情况下(由于使用浮点数学)结果是否可能不完全相同

java floating-point distance

5
推荐指数
1
解决办法
144
查看次数

标签 统计

distance ×1

floating-point ×1

java ×1