Почему NaN не равно NaN? [Дубликат]

На этот вопрос уже есть ответ:

Каково обоснование для всех сравнений, возвращающих false для значений NaN IEEE75 13 ответов

Соответствующий стандарт IEEE определяет числовую константу NaN (не число) и предписывает, чтобы NaN сравнивалось как не равное себе. Почему это

Все языки, с которыми я знаком, реализуют это правило. Но это часто вызывает значительные проблемы, например, неожиданное поведение, когда NaN хранится в контейнере, когда NaN находится в данных, которые сортируются, и т. Д. Не говоря уже о том, что подавляющее большинство программистов ожидают, что любой объект будет равен самому себе ( прежде чем они узнают о NaN), поэтому их удивление добавляет ошибок и путаницы.

тандарты @IEEE хорошо продуманы, поэтому я уверен, что есть веская причина, по которой сравнение NaN как равного себе было бы плохим. Я просто не могу понять, что это такое.

Ответы на вопрос(6)

Ваш ответ на вопрос