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

扣扣技术交流群:460189483

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

 NAN的判断

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

#include <math.h>

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");
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章