Почему NaN не равно NaN? [Дубликат]
На этот вопрос уже есть ответ:
Каково обоснование для всех сравнений, возвращающих false для значений NaN IEEE75 13 ответовСоответствующий стандарт IEEE определяет числовую константу NaN (не число) и предписывает, чтобы NaN сравнивалось как не равное себе. Почему это
Все языки, с которыми я знаком, реализуют это правило. Но это часто вызывает значительные проблемы, например, неожиданное поведение, когда NaN хранится в контейнере, когда NaN находится в данных, которые сортируются, и т. Д. Не говоря уже о том, что подавляющее большинство программистов ожидают, что любой объект будет равен самому себе ( прежде чем они узнают о NaN), поэтому их удивление добавляет ошибок и путаницы.
тандарты @IEEE хорошо продуманы, поэтому я уверен, что есть веская причина, по которой сравнение NaN как равного себе было бы плохим. Я просто не могу понять, что это такое.