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

Поле epsilon

Поле epsilon класса numeric_limits возвращает машинную эпсилон для типа с плавающей точкой. Машинная эпсилон - это разница между единицей и ближайшим к ней числом, которое может быть представлено в данном типе. Иными словами, это минимальное положительное число 'x', такое что 1.0 + 'x' не равно 1.0. Поле не принимает параметров и возвращает значение типа T, где T - тип, для которого запрашивается информация. Для целочисленных типов значение всегда равно 0.

Синтаксис

numeric_limits<T>::epsilon()

Пример

Давайте выведем значение машинной эпсилон для типа double:

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

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

2.22045e-16

Пример

Давайте сравним значения epsilon для типов float и double:

#include <iostream> #include <limits> using namespace std; int main() { float epsf = numeric_limits<float>::epsilon(); double epsd = numeric_limits<double>::epsilon(); cout << "float: " << epsf << endl; cout << "double: " << epsd << endl; return 0; }

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

"float: 1.19209e-07" "double: 2.22045e-16"

Пример

Давайте проверим, что для целочисленного типа значение epsilon равно 0:

#include <iostream> #include <limits> using namespace std; int main() { int eps = numeric_limits<int>::epsilon(); cout << eps << endl; return 0; }

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

0

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

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