签名检查NaN值

Yak*_*kov 2 c unix sign nan visual-studio

计算期间我的程序可以生成nan-nan值.我检查值是否是nan/ -nanusing isnan方法.

我还必须区分纳米值是正还是负(nan-nan).我怎样才能做到这一点?

补充:我需要WIN和Unix/Linux的跨平台解决方案

Aus*_*oke 5

尝试signbit<math.h>:

描述

signbit()是一个通用的宏,可以处理所有真正的浮点类型.如果x的值已设置其符号位,则返回非零值.

...

NaNs和无穷大有一个符号位.

它显然是C99和POSIX.1-2001的一部分,但如果您不想使用/符合这两者中的任何一个,您可以自己编写一个宏/函数.