Kalkulator konwersji systemów liczbowych

Konwertuj liczbę całkowitą na system binarny, ósemkowy, dziesiętny i szesnastkowy.

Wprowadź liczbę całkowitą w systemie dziesiętnym, którą chcesz przekonwertować.

Wartość binarna

11111111

Ósemkowy377
Dziesiętny255
SzesnastkowyFF

Jak korzystać z tego kalkulatora konwersji systemów liczbowych

  1. Wprowadź liczbę całkowitą

    Wpisz nieujemną liczbę całkowitą w polu Liczba całkowita (np. 255 lub 4096).

  2. Odczytaj wartość binarną

    Wynik w systemie binarnym pokazuje reprezentację o podstawie 2.

  3. Sprawdź system ósemkowy i szesnastkowy

    Przejrzyj wyniki w systemie ósemkowym i szesnastkowym dla uzyskania kompaktowej reprezentacji.

  4. Zweryfikuj system dziesiętny

    Wynik dziesiętny potwierdza pierwotną wartość w celu weryfikacji krzyżowej.

Metodologia

Jak działa ten kalkulator konwersji systemów liczbowych

Ten kalkulator konwersji systemów liczbowych przyjmuje liczbę całkowitą w systemie dziesiętnym (podstawa 10) i przedstawia ją w systemie binarnym (podstawa 2), ósemkowym (podstawa 8) oraz szesnastkowym (podstawa 16) — czterech systemach liczbowych najczęściej używanych w informatyce. Każdy pozycyjny system liczbowy działa w ten sam sposób: każda pozycja cyfry reprezentuje kolejną potęgę podstawy, a wartość liczby jest sumą każdej cyfry pomnożonej przez jej wagę pozycyjną. Konwersja między systemami jest podstawową operacją w programowaniu niskopoziomowym, projektowaniu logiki cyfrowej, inżynierii sieciowej (adresy MAC i IPv6), kodach kolorów w CSS, maskach uprawnień plików w systemie Unix oraz inspekcji adresów pamięci podczas debugowania.

Wzór
Wielokrotne dzielenie: podziel N przez docelową podstawę R, zapisz resztę, powtarzaj z ilorazem, aż osiągnie 0, a następnie odczytaj reszty w odwrotnej kolejności
N Wprowadzona liczba całkowita w systemie dziesiętnym (podstawa 10)
R Docelowa podstawa (2 dla binarnego, 8 dla ósemkowego, 16 dla szesnastkowego)
iloraz Wynik dzielenia całkowitego N ÷ R na każdym kroku; staje się nowym N dla kolejnej iteracji
reszta N mod R na każdym kroku — staje się jedną cyfrą przekonwertowanego wyniku (0–1 dla binarnych, 0–7 dla ósemkowych, 0–F dla szesnastkowych)
wynik Reszty czytane od ostatniej do pierwszej, tworzące liczbę w docelowym systemie liczbowym
Przykład

Konwersja liczby dziesiętnej 255 na system binarny, ósemkowy i szesnastkowy. Dla binarnego (R = 2): 255 ÷ 2 = 127 reszta 1, 127 ÷ 2 = 63 R 1, 63 ÷ 2 = 31 R 1, 31 ÷ 2 = 15 R 1, 15 ÷ 2 = 7 R 1, 7 ÷ 2 = 3 R 1, 3 ÷ 2 = 1 R 1, 1 ÷ 2 = 0 R 1. Czytając reszty od dołu: 11111111. Dla ósemkowego (R = 8): 255 ÷ 8 = 31 R 7, 31 ÷ 8 = 3 R 7, 3 ÷ 8 = 0 R 3 → 377. Dla szesnastkowego (R = 16): 255 ÷ 16 = 15 R 15 (F), 15 ÷ 16 = 0 R 15 (F) → FF.

Dziesiętne 4096 → binarne 1000000000000, ósemkowe 10000, szesnastkowe 1000. Pomocne w zrozumieniu, że 4 KiB = 4096 bajtów.

Dziesiętne 15 → binarne 1111, ósemkowe 17, szesnastkowe F. Każda cyfra szesnastkowa odpowiada dokładnie czterem bitom; F = 1111.

Założenia
  • Dane wejściowe to nieujemna liczba całkowita (zero lub dodatnia liczba całkowita). Wartości ułamkowe i liczby ujemne wymagają rozszerzonych algorytmów (np. uzupełnienia do dwóch dla binarnego zapisu ze znakiem), które wykraczają poza zakres tego narzędzia.
  • Cyfry szesnastkowe powyżej 9 są reprezentowane za pomocą wielkich liter A–F, zgodnie z konwencją stosowaną w większości języków programowania, dokumentach RFC i dokumentacji sprzętowej.
  • Zera wiodące są pomijane w wyniku. W przypadku reprezentacji o stałej szerokości (np. 8-bitowej lub 32-bitowej binarnej), należy ręcznie uzupełnić wynik do żądanej szerokości.
  • Kalkulator akceptuje wyłącznie nieujemne liczby całkowite. Wartości powyżej 2^53 − 1 (Number.MAX_SAFE_INTEGER w JavaScript) są odrzucane, aby wyświetlane cyfry pozostały dokładne.
Uwagi
  • Każda cyfra szesnastkowa odpowiada dokładnie czterem cyfrom binarnym (bitom), a każda cyfra ósemkowa odpowiada dokładnie trzem bitom. Ta zależność sprawia, że konwersja w pamięci między systemem szesnastkowym, ósemkowym i binarnym jest szybka po zapamiętaniu 16 wzorców półbajtów.
  • Typowe wartości warte zapamiętania: 0xFF = 255, 0x100 = 256, 0xFFFF = 65535, 0xFFFFFFFF = 4 294 967 295 (maksymalna 32-bitowa liczba całkowita bez znaku).
  • Uprawnienia plików Unix używają systemu ósemkowego: 755 oznacza rwxr-xr-x (odczyt/zapis/wykonanie dla właściciela, odczyt/wykonanie dla grupy i pozostałych). Każda cyfra ósemkowa koduje trzy bity uprawnień.
  • Kody kolorów CSS hex to trzy połączone szesnastkowe wartości bajtowe reprezentujące kanały czerwony, zielony i niebieski — np. #FF8800 to 255 czerwonego, 136 zielonego i 0 niebieskiego.
Źródła
  1. Teoria pozycyjnych systemów liczbowych — Knuth, D. E., Sztuka programowania, Tom 2: Algorytmy seminumeryczne, Sekcja 4.1
  2. IEEE 754-2019 — Standard dla arytmetyki zmiennoprzecinkowej (kontekst reprezentacji liczb całkowitych)
  3. RFC 4291 — Architektura adresowania IP w wersji 6 (notacja szesnastkowa dla IPv6)

Zrozumienie systemów liczbowych w informatyce

Każdy pozycyjny system liczbowy wykorzystuje podstawę i przypisuje każdej cyfrze wagę zależną od jej pozycji. W systemie dziesiętnym (podstawa 10) skrajna prawa cyfra to jedności, kolejna to dziesiątki, potem setki. System binarny (podstawa 2) używa tylko 0 i 1, co odpowiada stanom włączony/wyłączony tranzystorów. System ósemkowy (podstawa 8) grupuje trzy bity na cyfrę, a szesnastkowy (podstawa 16) grupuje cztery bity na cyfrę, używając liter A–F dla wartości 10–15. Konwersja między systemami odbywa się poprzez wielokrotne dzielenie: podziel liczbę przez docelową podstawę, zapisz resztę, powtarzaj z ilorazem aż do zera, a następnie odczytaj reszty w odwrotnej kolejności. Ten algorytm stanowi podstawę wszystkich konwersji systemów liczbowych w programowaniu.

Praktyczne zastosowania konwersji systemów liczbowych dla programistów

Programiści korzystają z konwersji systemów liczbowych podczas analizy zrzutów pamięci, debugowania operacji bitowych, interpretacji uprawnień plików oraz pracy z kodami kolorów. Uprawnienia plików w systemie Unix (np. 755) są ósemkowe: każda cyfra koduje odczyt/zapis/wykonanie dla właściciela, grupy i pozostałych. Kolory CSS w formacie hex, takie jak #FF8800, to trzy połączone bajty w systemie szesnastkowym. Adresy IPv6 są zapisywane w systemie hex. Maski bitowe i flagi są często wyrażane w systemie szesnastkowym dla lepszej czytelności (0xFF dla maski bajtu, 0xFFFF dla 16 bitów). Podczas debugowania kodu niskopoziomowego lub protokołów sieciowych, konwersja między systemem dziesiętnym, szesnastkowym i binarnym pozwala szybko dostrzec wzorce bitowe.

Kalkulator konwersji systemów liczbowych – FAQ

Dlaczego w informatyce używa się systemów binarnego, ósemkowego i szesnastkowego?

System binarny odpowiada bezpośrednio stanom włączenia/wyłączenia tranzystorów, co czyni go natywnym językiem sprzętu. Systemy ósemkowy i szesnastkowy to skrócony zapis binarny — jedna cyfra szesnastkowa reprezentuje dokładnie cztery bity, a jedna ósemkowa trzy bity — dlatego programiści używają ich do zwięzłego zapisu adresów, masek bitowych i kodów kolorów.

Jak wykonać konwersję w drugą stronę (np. z szesnastkowego na dziesiętny)?

Pomnóż każdą cyfrę przez podstawę systemu podniesioną do potęgi odpowiadającej jej pozycji i zsumuj wyniki. Na przykład szesnastkowe 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419 w systemie dziesiętnym.

Co się dzieje w przypadku bardzo dużych liczb?

Kalkulator akceptuje tylko wartości do limitu bezpiecznych liczb całkowitych w JavaScript: 2^53 − 1 (9 007 199 254 740 991). Większe liczby są odrzucane, ponieważ w przeglądarce mogą utracić najmniej znaczące cyfry.

Czy mogę konwertować liczby ujemne lub ułamki?

To narzędzie obsługuje nieujemne liczby całkowite. Liczby całkowite ujemne w informatyce są zazwyczaj reprezentowane przy użyciu kodu uzupełnień do dwóch o stałej szerokości bitowej, a wartości ułamkowe wykorzystują kodowanie zmiennoprzecinkowe IEEE 754 — oba wymagają dodatkowych parametrów, których ten kalkulator nie gromadzi.

Dlaczego prefiks 0x pojawia się w kodzie, ale nie w wyniku?

Prefiks 0x (oraz 0b dla systemu binarnego, 0o dla ósemkowego) to specyficzna dla języka składnia literału informująca kompilator lub interpreter o oczekiwanej podstawie. Kalkulator wyświetla surowy ciąg cyfr bez prefiksu, dzięki czemu można go użyć w dowolnym kontekście.

Autor Jan Křenek Założyciel i główny programista
Zweryfikowane przez Przegląd metodologii DigitSum Weryfikacja formuł i QA
Ostatnia aktualizacja 10 mar 2026

Traktuj to jako szacunek i skonsultuj ważne decyzje z wykwalifikowanym specjalistą.

Wprowadzone dane pozostają w przeglądarce, chyba że przyszła funkcja wyraźnie poinformuje o innym działaniu.