gpt4 book ai didi

comparison - 测试 float 是否等于 0.0 是否安全?

转载 作者:行者123 更新时间:2023-12-04 10:05:16 25 4
gpt4 key购买 nike

我知道由于精度错误而测试浮点数是否相等是危险的,但是测试零是否安全?我可以想到一些情况,例如在优化算法中的特殊情况时,您会想要这样做。问题是关于花车,但我认为答案也适用于 double 。

考虑以下代码:

float factor = calculateFactor();
if(factor != 0.0f)
applyComplexAlgorithm(factor);

最佳答案

从某种意义上说是安全的,如果该值显式设置为 0.0f,它将在那里返回 true。

从某种意义上说,这是不安全的,您不应期望计算所得的值恰好为 0.0f。

因此,您实际上是在使用 0.0f 作为特殊的魔法值,而不是作为与零的真正比较。

关于comparison - 测试 float 是否等于 0.0 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8582997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com