C/C NaN 常数(字面量)?

新手上路,请多包涵

这是否可以在 C/C++ 中将 — 分配给 NaN doublefloat ?就像在 JavaScript 中一样: a = NaN 。所以稍后您可以检查变量是否为数字。

原文由 exebook 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

在 C 中, NAN<math.h> --- 中声明。

在 C++ 中, std::numeric_limits<double>::quiet_NaN()<limits> --- 中声明。

但是为了检查一个值是否为 NaN,你不能将它与另一个 NaN 值进行比较。而是使用 isnan() 来自 <math.h> 在 C 中,或 std::isnan() 来自 <cmath>

原文由 Mike Seymour 发布,翻译遵循 CC BY-SA 3.0 许可协议

这可以使用 C++ 中的 numeric_limits 来完成:

http://www.cplusplus.com/reference/limits/numeric_limits/

这些是您可能想要查看的方法:

 infinity()  T   Representation of positive infinity, if available.
quiet_NaN() T   Representation of quiet (non-signaling) "Not-a-Number", if available.
signaling_NaN() T   Representation of signaling "Not-a-Number", if available.

原文由 languitar 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题