Czas/Liczby

Konwerter float IEEE 754

Liczba dziesiętna ↔ reprezentacja binarna IEEE 754 (precyzja pojedyncza lub podwójna) — znak, wykładnik, mantysa, wartości specjalne.


            

Computers store fractional numbers in binary under the IEEE 754 standard — a sign, an exponent, and a mantissa, packed into a fixed number of bits. This tool shows that representation for any decimal number and parses it back into a number.

How to use it

Common uses

Things to keep in mind

Most decimal fractions (0.1, for example) have no exact binary representation — that's the root cause of the typical rounding errors seen in calculation results.

Comparing floating-point numbers for exact equality (===) is unreliable — check instead whether the difference is smaller than a small threshold (epsilon).

Artykuł o tym narzędziu: IEEE 754: dlaczego 0.1 + 0.2 nie równa się 0.3 w kodzie

Najczęstsze pytania

Jaka jest różnica między precyzją pojedynczą a podwójną?

Precyzja pojedyncza (float, 32 bity) daje około 7 cyfr dziesiętnych precyzji, podwójna (double, 64 bity) około 15-17. Typ Number w JavaScript używa precyzji podwójnej.

Dlaczego niektóre liczby dziesiętne tracą precyzję?

IEEE 754 przechowuje liczby binarnie, a wiele ułamków dziesiętnych (jak 0.1) nie ma dokładnej skończonej reprezentacji binarnej — więc przechowywana jest najbliższa możliwa wartość z niewielkim błędem zaokrąglenia.

Co oznaczają NaN, Infinity i -0?

NaN to wynik nieprawidłowej operacji, takiej jak 0/0. Infinity/-Infinity pojawiają się, gdy wartość przekracza możliwy do przedstawienia zakres (np. dzielenie przez 0). +0 i -0 to dwie różne reprezentacje bitowe zera ze znakiem, które są jednak równe jako liczby.

Czym są liczby subnormalne (zdenormalizowane)?

To specjalny tryb reprezentacji liczb, których wartość bezwzględna jest zbyt mała dla standardowego formatu — domyślna wiodąca jedynka mantysy jest pomijana, co pozwala na stopniowe zbliżanie się do zera kosztem części precyzji.

Jak poprawnie porównywać liczby ułamkowe zamiast sprawdzać dokładną równość?

Zamiast a === b sprawdza się, czy różnica między liczbami jest mniejsza niż niewielki próg (epsilon): Math.abs(a - b) < 1e-9. Dokładna równość niemal nigdy nie jest gwarantowana z powodu błędów zaokrąglenia.

Artykuły: Czas/Liczby

Czas Unix: dlaczego komputery liczą czas od 1970 roku

Dlaczego 1 stycznia 1970 roku stał się punktem odniesienia czasu dla większości systemów komputerowych.

Wyrażenia cron: jak odczytać harmonogram zadań

Jak odczytać wyrażenie takie jak */15 * * * * i dokładnie wiedzieć, kiedy zadanie się uruchomi.

Systemy liczbowe: po co istnieją system dwójkowy, ósemkowy i szesnastkowy

Dlaczego kolor #FF5733 w CSS zapisany jest cyframi szesnastkowymi, a nie dziesiętnymi.

Operacje bitowe: jak działają AND, OR i XOR na poziomie bitów

Czym bitowy AND różni się od logicznego, i po co w ogóle operować na pojedynczych bitach liczby.

Różnica między datami: dlaczego liczenie dni jest trudniejsze, niż się wydaje

Dlaczego naiwne odejmowanie dat może dać błędny wynik przez lata przestępne.

Obliczanie wieku: dlaczego to nie proste odejmowanie lat

Dlaczego proste odjęcie roku urodzenia może dać wiek o rok większy niż rzeczywisty.

Strefy czasowe: dlaczego UTC to nie to samo co GMT

Dlaczego UTC nigdy nie zmienia się dwa razy w roku, podczas gdy czas w Londynie (GMT/BST) tak.

Kalkulator czasu trwania: jak poprawnie dodawać godziny, minuty i sekundy

Dlaczego przy dodawaniu minut i sekund trzeba "przenosić" resztę do następnej pozycji, tak jak przy dodawaniu dziesiętnym.

ISO 8601 Duration: jak zapisać czas trwania w standardowym formacie

Dlaczego zapis PT1H30M oznacza „1 godzina 30 minut", a nie „1 minuta 30 godzin".

Numer tygodnia: dlaczego różne kraje liczą tygodnie inaczej

Dlaczego 1 stycznia czasem należy do 52. lub 53. tygodnia poprzedniego roku według standardu ISO 8601.

Liczby rzymskie: jak działa system bez zera i pozycji

Dlaczego IV oznacza 4, a nie 6, i jak działa zasada odejmowania w liczbach rzymskich.

Liczba słownie: po co zamieniać cyfry na słowa

Dlaczego w dokumentach bankowych kwotę zapisuje się jednocześnie cyframi i słownie.