C++中如何产生NAN数

NaN,是Not a Number的缩写,在IEEE浮点数算术标准(IEEE 754)中定义,表示一些特殊数值(无穷与非数值(NaN)),为许多CPU与浮点运算器所采用。


Windows的VC中没有NAN数的定义,导致我们编译类似opencv-contrib这样的开源库时,会出现NAN未定义的错误。在VC下解决NAN的定义问题可以通过采用numeric_limits来实现。具体的代码如下:


    // 产生一个double类型的NAN
    typedef std::numeric_limits<double> Info;
    double const NAN_d = Info::quiet_NaN();

    // 产生一个float类型的NAN
    typedef std::numeric_limits<float> Info;
    float const NAN_f = Info::quiet_NaN();




你可能感兴趣的:(C++中如何产生NAN数)