Duplicar posibles:
Checking if a double (or float) isnan
in C++Prueba si el valor del flotador es NaN
Tengo un requisito para comprobar si flotador es NaN
. Al revisar algunos de los enlaces encontré el cheque más común.
FLOAT32 f32_test_NaN = (some_value);
if (f32_test_NaN == f32_test_NaN)
{
//do something;
}
else
{
// do something;
}
Pero esto no parece funcionar para mí. Mi código es el siguiente:
FLOAT32 test_NaN = 0x414570A3;//some value - is this ok?
depuración en 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?
Así que en mi caso es igual a test_NaN
test_NaN
.
Háganme saber si se debe hacer alguna configuración del compilador. Estoy corriendo en solaris. O hay otra forma de verificar lo mismo.
Gracias de antemano.
http://stackoverflow.com/questions/570669/checking-if-a-double-or-float-is-nan-in -c –
¿Por qué no usar 'isnan()' de math.h? ¿Alguna razón especial? – Constantin
Esa función estándar no está disponible en el entorno. – kp11