gpt4 book ai didi

c++ - 检查 NaN 数

转载 作者:IT老高 更新时间:2023-10-28 21:45:58 28 4
gpt4 key购买 nike

是否可以检查一个数字是否为NaN

最佳答案

是的,因为 NaN不等于任何其他数字,包括它自己。

当您考虑 NaN 时,这是有道理的意味着,您创建的值实际上无法用“正常”浮点值表示。

因此,如果您创建两个不知道它们是什么的数字,则很难认为它们相等。它们可能是,但是,考虑到它可能是相当大的数字可能性(实际上是无限的),两个相同数字的可能性微乎其微:-)

您可以查找函数(实际上是宏),例如 isnan (在 math.h 对于 C 和 cmath 对于 C++)或者只使用 NaN 的属性value 不等于自身,例如:

if (myFloat != myFloat) { ... }

如果出于某种奇怪的原因,您的 C 实现没有 isnan (它应该,因为标准要求它),您可以编写自己的代码,例如:

int isnan_float (float f) { return (f != f); }

关于c++ - 检查 NaN 数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3437085/

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