¿Es una buena idea usar NaN de coma flotante IEEE754 (no un número) para valores que no están definidos por razones no matemáticas?¿Es una buena idea usar NaN de punto flotante IEEE754 para los valores que no están configurados?
En nuestro caso, aún no están configurados porque los valores no se han recibido de algún otro dispositivo. El contexto es un sistema integrado que usa valores IEC1131 REAL32. Edit: El lenguaje de programación es C, por lo que probablemente usaríamos NAN e isnanf (x), que son de C99. Aunque es posible que necesitemos algunas contorsiones adicionales para obtener estos en nuestra capa de compatibilidad del sistema operativo.
El valor predeterminado en los lenguajes de programación parece ser inicializar variables de punto flotante con cero positivo, cuya representación interna es cero. Eso no es utilizable para nosotros, porque 0 está en el rango de valores válidos.
Parece una solución limpia para usar NaN, pero tal vez es más complicado de lo que vale y debemos elegir algún otro valor?
No sé C, pero en .NET 1.1 antes de que salieran tipos anulables, mucha gente solía usar cosas como el valor mínimo (int.MinValue). El problema con esto es que debes factorizarlo en todas partes y asegurarte de que nunca uses MinValue. Quizás existe algo parecido a eso en C? – RichardOD
He hecho una pregunta similar (pero no la misma), quizás las respuestas también pueden ayudarte. http://stackoverflow.com/questions/787828/nan-as-a-special-argument – quinmars