Epsilon maszynowy
Epsilon maszynowy – wartość określająca precyzję obliczeń numerycznych wykonywanych na liczbach zmiennoprzecinkowych.
Jest to największa liczba nieujemna, której dodanie do jedności daje wynik równy 1. Innymi słowy, 1 + ε = 1 i żadna liczba większa od ε nie spełnia już tego warunku. (Zwróćmy uwagę, że 0,0 też jest taką liczbą, ale w realnych arytmetykach zmiennoprzecinkowych – nie jedyną.)
Im mniejsza wartość epsilona maszynowego, tym większa jest względna precyzja obliczeń. Wartości tej nie należy mylić ze (zwykle dużo niższą) najmniejszą liczbą uznawaną przez maszynę za różną od zera.
Epsilon maszynowy jest zależny od implementacji. Precyzja obliczeń jest ograniczona od strony sprzętowej przez rozmiar rejestrów, na których są wykonywane obliczenia, a od strony programowej przez typ danych użyty do reprezentowania liczb zmiennoprzecinkowych.
Bibliografia
- William H. Press, Saul A. Teukolskym, William T. Vettreling, Brian P. Flannery, Numerical Recipes in C: The Art of Scientific Computing. (Second Edition), Cambridge University Press, rozdz. 1.3, 1992 ISBN 0-521-43108-5.
![]() | Zobacz publikację C/Zaawansowane_operacje_matematyczne#Epsilon_maszynowy w Wikibooks |