我想知道是否有像 eps 这样的东西来表示 C++ 中机器精度的值?我可以将它用作双精度可以表示的最小正数吗?是否可以使用 1.0/eps 作为双精度可以表示的最大正数?我在哪里可以找到 C++ 和 C 标准库中的 eps?
谢谢并恭祝安康!
更新:
出于我的目的,我想将权重计算为距离的倒数,例如反距离加权插值(http://en.wikipedia.org/wiki/Inverse_distance_weighting)。
double wgt = 0, wgt_tmp, result = 0;
for (int i = 0; i < num; i++)
{
wgt_tmp = 1.0/dist[i];
wgt += wgt_tmp;
result += wgt_tmp * values[i];
}
results /= wgt;
但是距离可以为 0,我需要使权重适合计算。如果只有一个距离 dist[i] 为 0,我希望其对应的值 values[i] 占主导地位。如果有几个距离为 0,我希望它们的值对结果做出同样的贡献。知道如何实施吗?