valor resueltos que punto programacion normalizada norma mantisa informatica flotante exponente ejercicios doble coma floating-point nan ieee-754

floating point - resueltos - ¿Por qué el IEEE 754 reserva tantos valores de NaN?



que es coma flotante en informatica (2)

Parece que el estándar IEEE 754 define 16,777,214 valores de punto flotante de 32 bits como NaN, o el 0,4% de todos los valores posibles.

Me pregunto cuál es la razón para reservar tantos valores útiles, mientras que solo se necesitan esencialmente 2: uno para la señalización y otro para el NaN silencioso.

Lo siento si esta pregunta es trivial, no pude encontrar ninguna explicación en Internet.


El estándar IEEE-754 define un NaN como un número con todos los del exponente, y un significado distinto de cero. El bit de orden superior en el significado especifica si el NaN es de señalización o silencioso. Los bits restantes del significado forman lo que se conoce como la carga útil del NaN.

Cuando uno de los operandos de una operación es un NaN, el resultado es un NaN, y la carga útil del resultado es igual a la carga útil de uno de los operandos de NaN. La preservación de la carga útil es importante para la eficiencia en la informática científica , y al menos una compañía ha propuesto usar las cargas útiles de NaN para usos propietarios.

En términos más básicos, un NaN no contiene ninguna información numérica útil, y los 32 bits completos deben reservarse de todos modos, por lo que los bits no utilizados en el significado se desperdiciarían si no hubiera una carga útil definida en el estándar.


También hay una carga útil para números de punto flotante de 64 bits, con ~ 10 ^ 15 valores posibles. Desafortunadamente, las implementaciones difieren en cuanto a cómo se debe transferir la carga útil entre números de punto flotante de 32 y 64 bits y viceversa, es decir, si se conservan los bits más significativos o menos significativos. Dado que el tratamiento de la carga útil es específico de la máquina, necesita un código diferente para manejar cargas útiles en diferentes máquinas.

No me preocuparía demasiado sobre qué propagación de NaN se propaga después de una operación binaria. Los NaN son valores excepcionales que ocurren con baja probabilidad, y la probabilidad de obtener 2 de ellos es poco probable.