C/C++/C# nan如何判断

扣扣技术交流群:460189483

C/C++/C# nan如何判断_第1张图片

注意:nan是无序的(unordered),无法对其进行逻辑运算。它不大于、小于或等于任何数(包括它自己),将<,>,<=,和>=作用于nan产生一个exception。得到nan时就查看是否有非法操作,如果表达式中含有nan,那么表达式的结果为nan。

 NAN的判断

在math.h头文件中有判断是否为nan的函数,isnan(x) 如果是nan返回1,如果不是返回0

#include 

typedef union{
    float x;
    u8 buf[4];
}nan_t;

int main()
{
    nan_t tmp;
    tmp.buf[0] = 255;
    tmp.buf[1] = 255;
    tmp.buf[2] = 255;
    tmp.buf[3] = 255;

    if(isnan(tmp.x))
    {
        printf("this is nan");
    }
}

 

你可能感兴趣的:(C/C++/C#)