有 isnan() 函数吗?
PS.:我在MinGW(如果这有什么不同的话)。
我通过使用 isnan() from 解决了这个问题<math.h>,它在 中不存在<cmath>,我一开始是在#includeing 中。
<math.h>
<cmath>
#include
根据 IEEE 标准,NaN 值具有奇数特性,即涉及它们的比较 总是 错误的。也就是说,对于浮点数 f, 仅 当 f 为 NaN时才f != f为真。 __
f != f
请注意,正如下面的一些评论所指出的,并非所有编译器在优化代码时都尊重这一点。
对于任何声称使用 IEEE 浮点的编译器,这个技巧 应该可以 工作。但我不能保证它 会 在实践中发挥作用。如果有疑问,请检查您的编译器。