Powiel możliwe:
Checking if a double (or float) isnan
in C++Sprawdzanie czy wartość float jest NaN
Mam wymaganie, aby sprawdzić czy pływak jest NaN
. Przeglądając niektóre linki, znalazłem najczęściej sprawdzany.
FLOAT32 f32_test_NaN = (some_value);
if (f32_test_NaN == f32_test_NaN)
{
//do something;
}
else
{
// do something;
}
Ale to nie wydaje się działać dla mnie. Mój kod wygląda następująco:
FLOAT32 test_NaN = 0x414570A3;//some value - is this ok?
debugowanie GDB:
(gdb) p test_NaN
$1 = 1.09506982e+09
(gdb) p/x test_NaN
$2 = 0x41457080 // Hex is not same as init value - What is compiler doing?
Więc w moim przypadku test_NaN
jest równa test_NaN
.
Proszę dać mi znać, jeśli jakiekolwiek ustawienie kompilatora musi być wykonane. Używam solaris. Czy istnieje inny sposób sprawdzenia tego samego.
Z góry dziękuję.
http://stackoverflow.com/questions/570669/checking-if-a-double-or-float-is-nan-in -c –
Dlaczego nie używać 'isnan()' z math.h? Jakieś specjalne powody? – Constantin
Ta standardowa funkcja nie jest dostępna w środowisku. – kp11