Por que NaN não é igual a NaN? [duplicado
Esta pergunta já tem uma resposta aqui:
Qual é a justificativa para todas as comparações que retornam false para valores NaN IEEE754? 3 respostasO padrão IEEE relevante define uma constante numérica NaN (não um número) e prescreve que o NaN deve comparar como diferente de si mesmo. Por que é que
Todos os idiomas que eu conheço implementam essa regra. Mas muitas vezes causa problemas significativos, por exemplo, comportamento inesperado quando o NaN é armazenado em um contêiner, quando o NaN está nos dados que estão sendo classificados etc. Sem mencionar, a grande maioria dos programadores espera que qualquer objeto seja igual a ele ( antes que eles aprendam sobre NaN), então surpreendê-los aumenta os bugs e a confusã
s padrões do @IEEE são bem pensados, então tenho certeza de que há uma boa razão pela qual o NaN comparar como igual a si mesmo seria ruim. Eu simplesmente não consigo descobrir o que