编程c语言中nan,如何在C中使用nan和inf?

编程c语言中nan,如何在C中使用nan和inf?本文介绍了在 C 语言中如何使用 NAN 和 INF

大家好,欢迎来到IT知识分享网。

你可以testing你的实现是否有:

#include #ifdef NAN /* NAN is supported */ #endif #ifdef INFINITY /* INFINITY is supported */ #endif

INFINITY的存在由C99(或至less是最新的草案)保证,并且“扩展为浮点types(表示正或无符号无穷大(如果可用))的常量expression式;否则,在翻译时溢出的floattypes的正常数。 “

NAN可以被定义,也可以不被定义,并且“当且仅当该实现支持浮点types的安静NaN时才被定义,并且扩展为代表安静的NaN的floattypes的常量expression式。

请注意,如果您正在比较浮点值,请执行以下操作:

a = NAN;

即使这样,

a == NAN;

是错误的。 检查NaN的一种方法是:

#include if (isnan(a)) { … }

你也可以这样做: a != a来testinga是否是NaN。

在C99的math.h中还有isfinite() , isfinite() , isinf()和signbit()macros。

C99也有nanfunction:

#include double nan(const char *tagp); float nanf(const char *tagp); long double nanl(ocnst char *tagp);

(参考:n1256)。

这样做没有编译器独立的方式,因为C(也就是C ++)标准都没有说浮点mathtype

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/158891.html

(0)
上一篇 2025-01-17 15:25
下一篇 2025-01-17 15:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信