std::numeric_limits::epsilon из .">
⊗cpSpNmEp 314 of 696 menu

Машинное эпсилон float в C++

Машинное эпсилон у float описывает минимальный шаг вблизи единицы.

Значение лежит в std::numeric_limits<float>::epsilon из <limits>. Это наименьшее положительное число, которое при прибавлении к 1.0f дает результат, отличный от единицы. Запишем его и выведем:

#include <limits> #include <iostream> std::cout << std::numeric_limits<float>::epsilon() << "\n";

Чем меньше эпсилон, тем плотнее числа вблизи 1.0f. Сравним сумму 1.0f с эпсилоном и без него:

#include <limits> #include <iostream> float unit = 1.0f; float step = std::numeric_limits<float>::epsilon(); std::cout << (unit + step != unit) << "\n";

Выведите epsilon для float через std::numeric_limits.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить