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

Константа EPSILON

Константа EPSILON класса f64 представляет собой наименьшее положительное число, которое при сложении с 1.0 даёт результат, отличный от 1.0. Иными словами, это разница между единицей и следующим представимым числом с плавающей точкой двойной точности. Значение константы приблизительно равно 2.220446049250313e-16. Константа не принимает параметров, так как является статическим свойством типа f64.

Константа EPSILON часто используется для сравнения чисел с плавающей точкой, поскольку прямое сравнение через == может давать неожиданный результат из-за погрешности округления.

Синтаксис

f64::EPSILON

Пример

Давайте выведем значение константы EPSILON на экран:

fn main() { let res = f64::EPSILON; println!("{}", res); }

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

0.0000000000000002220446049250313

Пример

Давайте проверим, что прибавление EPSILON к единице даёт число, отличное от единицы:

fn main() { let res = 1.0 + f64::EPSILON; println!("{}", res == 1.0); }

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

false

Пример

Давайте используем EPSILON для сравнения двух чисел с плавающей точкой, которые должны быть равны:

fn main() { let a = 0.1 + 0.2; let b = 0.3; let res = (a - b).abs() < f64::EPSILON; println!("{}", res); }

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

true

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

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