👤 Pro — bez reklamPro
// bin ↔ oct ↔ dec ↔ hex

Konwerter systemów liczbowych

Wpisz liczbę w dowolnym systemie i odczytaj ją we wszystkich pozostałych — binarnym, ósemkowym, dziesiętnym i szesnastkowym, bez limitu rozmiaru.

Za darmo — bez limitu użyć.

Gdzie każdy system liczbowy naprawdę się przydaje

Nikt nie konwertuje systemów liczbowych dla zabawy — każdy system pasuje do miejsca, w którym naprawdę go spotykasz. Szesnastkowy to język kodów kolorów, adresów MAC, skrótów kryptograficznych i kodów błędów Windows takich jak 0x80070005; gdy raport o błędzie wręcza Ci jeden z nich, ta strona zamienia go w liczbę dziesiętną, której możesz szukać. Binarny to miejsce, w którym żyją flagi, maski bitowe i maski podsieci — to jedyny system, w którym widzisz, które pojedyncze przełączniki są włączone. A ósemkowy przetrwał niemal wyłącznie w uprawnieniach plików Unix, gdzie liczba taka jak 755 to tak naprawdę trzy grupy po trzy bity w przebraniu. Wpisz wartość raz, a tabela odpowie we wszystkich czterech systemach naraz, przy czym system, w którym wpisałeś wartość, jest pokazany pogrubioną czcionką.

Pułapka 53 bitów w innych narzędziach

Ciche zagrożenie przy długich liczbach nie leży w tym konwerterze — leży w narzędziach wokół niego. Arkusze kalkulacyjne po cichu psują liczby całkowite dłuższe niż mniej więcej piętnaście cyfr (wklej długi numer karty czy numer identyfikacyjny do Excela i patrz, jak końcówka zamienia się w zera), a większość szybkich kalkulatorów zaokrągla wszystko powyżej 53 bitów bez słowa ostrzeżenia. Ma to znaczenie w chwili, gdy konwertujesz identyfikatory bazodanowe, 64-bitowe znaczniki czasu albo fragmenty skrótów: wartość, która wygląda niemal poprawnie, jest gorsza niż taka, która jest oczywiście błędna. Ponieważ ta strona wykonuje obliczenia z dowolną precyzją, 40-cyfrowa liczba dziesiętna czy 256-bitowa wartość szesnastkowa konwertuje się dokładnie, co do ostatniej cyfry, a znak minus na początku jest wiernie zachowywany. Gdy dokładność jest całą istotą sprawy, wykonaj konwersję tutaj i dopiero wtedy wklej wynik dalej.

Przykład: odczytywanie chmoda albo maski bitowej

Wypróbuj to na najsłynniejszej liczbie ósemkowej, jaka istnieje: wybierz system ósemkowy i wpisz 755. Linia binarna pokazuje 111101101 — podzielone na trójki to 111, 101, 101, czyli rwx dla właściciela oraz r-x dla grupy i wszystkich pozostałych. Nagle liczba uprawnień tłumaczy się sama. Ten sam trik dekoduje dowolną wartość flag: status 0x2C zamienia się w binarne 101100, mówiąc od razu, że bity 2, 3 i 5 są ustawione, a reszta jest wyłączona. Ten konwerter jest darmowy i bez limitów, jak wszystkie nasze narzędzia dla programistów. Dwaj sąsiedzi, o których warto wiedzieć: kolor HEX to po prostu trzy bajty w systemie szesnastkowym stojące ramię w ramię — nasz konwerter kolorów odczytuje cały trójznak naraz — a szesnastkowy zapis, z którym najczęściej spotykasz się w pracy nad bezpieczeństwem, wychodzi z generatora skrótów (hash).

Ta sama liczba zapisana na cztery sposoby

Liczba nie zmienia się wraz ze zmianą systemu — zmienia się tylko sposób jej zapisu. Dziesiętne 255 to FF w zapisie szesnastkowym (2 cyfry zamiast 3) i 11111111 w binarnym (osiem bitów jednego bajta, wszystkie zapalone). Hex jest popularny wśród programistów właśnie dlatego, że każda cyfra szesnastkowa odpowiada dokładnie czterem bitom.

Czy mogę wkleić liczby z prefiksem, np. 0xFF albo 0b1010?

Tak — standardowe prefiksy (0x dla szesnastkowego, 0b dla binarnego, 0o dla ósemkowego) są rozpoznawane, gdy pasują do wybranego systemu. Ignorowane są też spacje i podkreślenia używane jako separatory cyfr (np. 1_000_000).

Czy istnieje maksymalny rozmiar?

W praktyce nie — konwerter korzysta z arytmetyki dowolnej precyzji, więc liczby znacznie wykraczające poza 64-bit działają bez problemu. Obsługiwane są jednak wyłącznie liczby całkowite: ułamki nie są wspierane.

Czy moje dane są gdzieś przesyłane?

Nie — wszystko działa w całości w Twojej przeglądarce, w zwykłym języku JavaScript. Nic nie jest przesyłane.

Convertburda — uniwersalne konwersje