РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
131 of 815 menu

Поле quiet_NaN

Поле quiet_NaN класса numeric_limits возвращает так называемое "тихое" значение "не число" (quiet NaN, от англ. quiet Not-a-Number). Такое значение представляет собой результат некорректной операции с плавающей точкой, например деления нуля на ноль, но, в отличие от сигнального NaN, не вызывает исключения при использовании в вычислениях. Поле доступно только для типов с плавающей точкой: float, double и long double. Для целочисленных типов поле возвращает 0, а также имеет значение false в поле has_quiet_NaN.

Синтаксис

#include <limits> numeric_limits<T>::quiet_NaN

Пример

Давайте получим значение quiet NaN для типа double и выведем его на экран:

#include <iostream> #include <limits> using namespace std; int main() { double nan = numeric_limits<double>::quiet_NaN(); cout << "quiet_NaN: " << nan << endl; cout << "has_quiet_NaN: " << numeric_limits<double>::has_quiet_NaN << endl; return 0; }

Результат выполнения кода:

"quiet_NaN: nan" "has_quiet_NaN: 1"

Пример

Давайте проверим, что значение quiet NaN не равно самому себе, так как любое сравнение с NaN возвращает false:

#include <iostream> #include <limits> using namespace std; int main() { double nan = numeric_limits<double>::quiet_NaN(); if (nan != nan) { cout << "nan is not equal to itself" << endl; } if (nan == nan) { cout << "equal" << endl; } else { cout << "not equal" << endl; } return 0; }

Результат выполнения кода:

"nan is not equal to itself" "not equal"

Смотрите также

  • класс numeric_limits,
    который предоставляет информацию о свойствах типов
  • поле infinity,
    которое возвращает значение бесконечности
  • поле epsilon,
    которое возвращает машинную эпсилон
  • поле is_integer,
    которое проверяет, является ли тип целочисленным
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить