沒有數字 (NAN) 的項目
Visual C++ 編譯器會支援以 IEEE 標準的方式比較不數字 (NAN) 項目。 如果 x 是 NAN, y 不是 NAN:
(x != x) == true
(x == x) == false
(y > x) == false
(y < x) == false
NAN 排序測試一直傳回 false: NAN [<,< =、 >,> =] any_number 會是 false。
下列程式碼顯示如何 Nan Visual C++ 無法比較成功的浮點數值:
#include <math.h>
#include <stdio.h>
#include <float.h>
int main( void ) {
unsigned long nan[2]={0xffffffff, 0x7fffffff};
double g = *( double* )nan;
if ( g <= 3.0 )
printf( "g( %g ) <= 3.0\n", g );
else if ( g > 3.0)
printf( "g( %g ) > 3.0\n", g );
else
printf( "g( %g ) is NaN\n", g );
}