Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Visual C++-Compiler unterstützt keine Vergleiche von Elementen einer Zahl NAN () in einer IEEE-kompatiblen Weise.Wenn x und y ist NAN nicht NAN:
! (xx= true== )
false== ) x(x-==
(== falseys > x)
(== falseys < x)
NAN-Reihenfolgen Tests immer false zurückgeben: NAN [<, <=, >, >=] [any_number] ist falsch.
Der folgende Code zeigt, wie NANs in Visual C++ nicht in eine Gleitkommazahl erfolgreich verglichen werden kann:
#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 );
}