Машинный эпсилон --- это наименьшее число eps, такое что eps+1=1.
Это заведомо неправильное определение. Нужно хотя бы заменить «наименьшее» на «наибольшее».
[Слово «наименьшее» будет фигурировать в таком определении машинного
:
Машинное
— это такое минимальное положительное число, которое при прибавлении к 1 даёт следующее за 1 число, т.е. наименьшее большее 1.]
[Дальше для случая нормализованных чисел.]
Если машинное
определяется как максимальная предельная относительная погрешность представления числа, то оно равно
, где
— число отводимых для дробной части числа бит (т.е. без целой единицы). Для binary32 (Single)
равно 23 (
приближенно равно
), для binary64 (Double)
равно 52 (
приближенно равно
). В этом определении предполагается, что при округлении погрешность не более половины младшего бита.
Если машинное
определяется как разность между 1 и ближайшему к нему числу большему 1, то оно равно
. Такое определение
eps используется в Scilab [см
«epsilon (floating-point relative accuracy)»], Octave, Matlab (можно проверить, вызвав соответствующую функцию
eps).
Вроде так.