C++ 中生成一个无效的 double / float 值

方法一:通过STL产生无效的 double / float 值:

std::numeric_limits dbl;
double a = dbl.signaling_NaN();
double b = dbl.quiet_NaN();

std::numeric_limits flt;
double c = flt.signaling_NaN();
double d = flt.quiet_NaN();

const static float flt_NaN = std::numeric_limits ::quiet_NaN();
const static double dbl_NaN = std::numeric_limits ::quiet_NaN();

  方法二:Native C++ 无效 double 的生成方法

double Double_NaN() {
    // code representing a NaN
    unsigned long nan[2] = {0xffffffff, 0x7fffffff};
    return *(double*)nan;
}

你可能感兴趣的:(编程开发,linux,c++,arm开发)