gpt4 book ai didi

c++ - 在 C++ 中检查 double (或 float )是否为 NaN

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:01:35 29 4
gpt4 key购买 nike

是否有 isnan() 函数?

PS.: 我在 MinGW (如果这有所作为)。

我使用 <math.h> 中的 isnan() 解决了这个问题,<cmath> 中不存在,我是 #include开始。

最佳答案

根据 IEEE 标准,NaN 值具有奇怪的属性,即涉及它们的比较始终为假。也就是说,对于 float f,f != f 只有 f 为 NaN 时才为真。

请注意,正如下面的一些评论所指出的,并非所有编译器在优化代码时都尊重这一点。

对于任何声称使用 IEEE float 的编译器,这个技巧应该有效。但我不能保证它在实践中起作用。如有疑问,请与您的编译器联系。

关于c++ - 在 C++ 中检查 double (或 float )是否为 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5441185/

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