比较 C 中的 float

标签 c comparison floating-point zero

我有一个打印为 0.000000double,我试图将它与 0.0f 进行比较,但没有成功。为什么这里有区别?确定 double 是否为零的最可靠方法是什么?

最佳答案

要确定它是否足够接近零,它会打印为 0.000000 到小数点后六位,例如:

fabs(d) < 0.0000005

不过,处理浮点计算中的小错误通常会变得相当复杂。

如果您想更好地了解您得到的值是多少,请尝试使用 %g 而不是 %f 进行打印。

关于比较 C 中的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7008649/

相关文章:

Haskell 将 Float 转换为 Int

string - MATLAB 中具有特定格式的 num2str

你能寻址 int 的单个位吗?

python - 如何进行不区分大小写的字符串比较?

javascript - 对象/数组的深度比较

matlab - 在Matlab中比较两个矩阵

c - 了解 C 中的位级浮点乘法?

c - 还有其他方法可以用C语言构建管道吗?

c - 具有某些值的 realloc 的奇怪行为

c++ - 这个插值搜索实现有什么问题?