Systemy liczbowe – binarny, ósemkowy, dziesiętny, szesnastkowy
Liczby można zapisywać na wiele sposobów – w zależności od wybranej podstawy systemu. My na co dzień używamy systemu dziesiętnego z podstawą 10, ale komputery operują na systemie dwójkowym z podstawą 2. Programiści często posługują się też szesnastkowym (hex) i ósemkowym. Zrozumienie tych systemów to fundament informatyki i elektroniki.
Co to jest system liczbowy i podstawa
System liczbowy to sposób reprezentowania liczb za pomocą symboli (cyfr). Kluczowym parametrem jest podstawa (baza) – liczba różnych cyfr używanych w tym systemie.
Liczba 425 w systemie dziesiętnym = 4×10² + 2×10¹ + 5×10⁰ = 400 + 20 + 5
Tę samą zasadę stosuje się do każdego systemu – zmienia się tylko podstawa i dostępne cyfry.
System dziesiętny (podstawa 10)
System, którego używamy na co dzień. Cyfry: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Prawdopodobnie rozwinął się dlatego, że człowiek ma 10 palców – choć to tylko hipoteza. Historycznie istniały cywilizacje posługujące się systemami dwunastkowymi, dwudziestkowymi (Majowie) czy sześćdziesiątkowymi (Babilończycy – stąd 60 sekund w minucie i 360 stopni w kole).
System binarny (dwójkowy, podstawa 2)
Używa tylko dwóch cyfr: 0 i 1. Jest podstawą działania wszystkich współczesnych komputerów, ponieważ doskonale odpowiada dwóm stanom fizycznym: napięcie wysokie / napięcie niskie, magnetyzacja / brak magnetyzacji, zapalony / zgaszony.
13 = 8 + 4 + 1 = 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 1101₂
Sprawdzenie: 1×8 + 1×4 + 0×2 + 1×1 = 8+4+0+1 = 13 ✓
Bity i bajty
Pojedyncza cyfra binarna (0 lub 1) to bit – najmniejsza jednostka informacji. 8 bitów tworzy bajt. Bajt może przechować wartości od 0 (00000000₂) do 255 (11111111₂). To dlatego piksel w grafice RGB ma składowe od 0 do 255 dla każdego kanału koloru.
System ósemkowy (oktalny, podstawa 8)
Używa cyfr od 0 do 7. Był popularny we wczesnych komputerach, gdzie grupy 3 bitów wygodnie mapowały się na jedną cyfrę ósemkową. Dziś spotykany głównie w uprawnieniach plików w systemach Unix/Linux.
chmod 755 plik.sh
7 = 111₂ (właściciel: czytaj+pisz+wykonaj)
5 = 101₂ (grupa: czytaj+wykonaj)
5 = 101₂ (inni: czytaj+wykonaj)
Każda cyfra ósemkowa odpowiada dokładnie 3 bitom, co sprawia, że konwersja między systemem ósemkowym a binarnym jest wyjątkowo prosta.
System szesnastkowy (heksadecymalny, podstawa 16)
Używa 16 symboli: cyfry 0–9 oraz litery A–F (gdzie A=10, B=11, C=12, D=13, E=14, F=15). Jedna cyfra hex odpowiada dokładnie 4 bitom (tzw. nibble), a dwie cyfry hex – jednemu bajtowi. To sprawia, że zapis szesnastkowy jest bardzo zwięzły i czytelny dla programistów.
255 = 15×16¹ + 15×16⁰ = FF₁₆
Dziesiętne 4096 w hex:
4096 = 1×16³ = 1000₁₆
Gdzie hex jest używany na co dzień
- Kolory CSS: #FF5733 to kolor czerwono-pomarańczowy (R=255, G=87, B=51)
- Adresy MAC: 00:1A:2B:3C:4D:5E – adresy kart sieciowych
- Adresy pamięci: debuggery i edytory hex pokazują adresy w formacie 0x7FFF0000
- Kody błędów Windows: BSOD z kodem 0x0000007E
- Skróty kryptograficzne: SHA-256, MD5 – wyniki są zapisywane jako ciągi hex
Tabela konwersji – pierwsze 16 liczb
| Dziesiętny | Binarny | Ósemkowy | Szesnastkowy |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
Jak ręcznie przeliczać między systemami
Dowolny system → dziesiętny
Mnożysz każdą cyfrę przez odpowiednią potęgę podstawy i sumujesz wyniki.
1×16² + A×16¹ + 3×16⁰
= 1×256 + 10×16 + 3×1
= 256 + 160 + 3 = 419
Dziesiętny → dowolny system (metoda dzielenia)
Dzielisz liczbę przez podstawę, zapisujesz reszty od dołu do góry.
419 ÷ 16 = 26, reszta 3
26 ÷ 16 = 1, reszta 10 (= A)
1 ÷ 16 = 0, reszta 1
Czytamy reszty od dołu: 1A3₁₆
Binarny ↔ hex (skrót)
Ponieważ 4 bity = 1 cyfra hex, konwersja jest błyskawiczna: dzielisz bity na grupy po 4 (od prawej) i każdą grupę zamieniasz na cyfrę hex.
1011 | 0111
B | 7
Wynik: B7₁₆
Chcesz szybko przeliczyć liczbę między systemami liczbowymi?
Otwórz konwerter systemów liczbowych →Podsumowanie
Cztery podstawowe systemy liczbowe używane w informatyce to: dziesiętny (codzienny), binarny (komputery – 0 i 1), ósemkowy (uprawnienia Unix, starsze systemy) i szesnastkowy (kolory, adresy pamięci, kryptografia). Każda cyfra hex odpowiada 4 bitom, co sprawia że hex jest wygodnym skrótem do zapisu danych binarnych. Konwerter online przelicza liczby między wszystkimi systemami natychmiast – wystarczy wpisać liczbę i wybrać systemy wejściowy i wyjściowy.