Systemy liczbowe: jak przeliczać między dwójkowym, dziesiętnym i szesnastkowym
Systemy liczbowe wyglądają na temat czysto teoretyczny, dopóki nie trzeba zamienić maski podsieci na postać binarną albo odczytać koloru zapisanego jako #1E90FF. Wtedy okazuje się, że to jedna z tych umiejętności, które albo się ma, albo traci się na nie czas przy każdym zadaniu.
Systemy liczbowe: dlaczego komputery liczą inaczej
W systemie dziesiętnym mamy dziesięć cyfr i każda pozycja jest kolejną potęgą dziesiątki. Liczba 245 to 2·100 + 4·10 + 5·1.
Komputer ma do dyspozycji dwa stany: napięcie jest albo go nie ma. Stąd system dwójkowy, w którym pozycje są potęgami dwójki. System szesnastkowy wszedł do użycia jako skrót zapisu binarnego: cztery bity zapisuje się jedną cyfrą, więc bajt mieści się w dwóch znakach zamiast ośmiu.
| System | Podstawa | Cyfry | Gdzie się z nim spotkasz |
|---|---|---|---|
| dwójkowy | 2 | 0, 1 | maski podsieci, uprawnienia, flagi |
| ósemkowy | 8 | 0 do 7 | uprawnienia w Linuksie, np. 755 |
| dziesiętny | 10 | 0 do 9 | codzienne liczenie |
| szesnastkowy | 16 | 0 do 9, A do F | kolory, adresy MAC, adresy pamięci |
Z dwójkowego na dziesiętny: dodawanie potęg
Najprostsza konwersja. Wypisujesz wagi pozycji od prawej i sumujesz te, nad którymi stoi jedynka.
Wagi warto znać na pamięć, bo wracają w każdym zadaniu: 128, 64, 32, 16, 8, 4, 2, 1.
Przykład: zamień 11010110 na dziesiętny.
Podpisujemy wagi pod cyframi:
1·128 + 1·64 + 0·32 + 1·16 + 0·8 + 1·4 + 1·2 + 0·1
Sumujemy tylko jedynki: 128 + 64 + 16 + 4 + 2 = 214.
Ten sam sposób tłumaczy, skąd biorą się maski podsieci. Bajt 11000000 to 128 + 64, czyli 192, a 11111000 to 128 + 64 + 32 + 16 + 8, czyli 248. Dlatego w maskach powtarzają się wciąż te same liczby, a przydaje się to przy liczeniu, jak obliczyć adres sieci i rozgłoszeniowy.
Z dziesiętnego na dwójkowy: dwie metody
Metoda pierwsza, przez odejmowanie wag. Szybsza w pamięci przy liczbach do 255.
Zamieńmy 214. Idziemy od największej wagi:
128 mieści się w 214, wpisujemy 1, zostaje 86.
64 mieści się w 86, wpisujemy 1, zostaje 22.
32 nie mieści się w 22, wpisujemy 0.
16 mieści się w 22, wpisujemy 1, zostaje 6.
8 nie mieści się w 6, wpisujemy 0.
4 mieści się w 6, wpisujemy 1, zostaje 2.
2 mieści się w 2, wpisujemy 1, zostaje 0.
1 nie mieści się w 0, wpisujemy 0.
Wynik: 11010110, zgodnie z poprzednim przykładem.
Metoda druga, przez dzielenie przez 2. Pewniejsza przy dużych liczbach. Dzielisz liczbę przez 2, zapisujesz resztę, powtarzasz z ilorazem, a na koniec czytasz reszty od dołu do góry.
Dla 45: 45/2 = 22 r. 1, 22/2 = 11 r. 0, 11/2 = 5 r. 1, 5/2 = 2 r. 1, 2/2 = 1 r. 0, 1/2 = 0 r. 1. Czytając reszty od końca: 101101.
Szesnastkowy: cztery bity na jeden znak
Tu jest największy skrót, o którym warto wiedzieć. Nie trzeba przechodzić przez system dziesiętny. Wystarczy podzielić liczbę binarną na czwórki bitów i każdą zamienić osobno.
| Bin | Hex | Bin | Hex | Bin | Hex | Bin | Hex |
|---|---|---|---|---|---|---|---|
| 0000 | 0 | 0100 | 4 | 1000 | 8 | 1100 | C |
| 0001 | 1 | 0101 | 5 | 1001 | 9 | 1101 | D |
| 0010 | 2 | 0110 | 6 | 1010 | A | 1110 | E |
| 0011 | 3 | 0111 | 7 | 1011 | B | 1111 | F |
Przykład: zamień 11010110 na szesnastkowy.
Dzielimy na czwórki: 1101 i 0110. Z tabeli: 1101 to D, 0110 to 6. Wynik: D6.
Sprawdzenie od drugiej strony: D to 13, więc 13·16 + 6 = 208 + 6 = 214. Zgadza się z wcześniejszym wynikiem.
W drugą stronę działa to tak samo prosto. Kolor #1E90FF to trzy bajty: 1E, 90 i FF, czyli składowe czerwona 30, zielona 144 i niebieska 255. Stąd wiadomo, że będzie to odcień niebieskiego.
Ósemkowy i uprawnienia w Linuksie
System ósemkowy wygląda dziś na relikt, ale ma jedno bardzo żywe zastosowanie: uprawnienia plików.
Uprawnienia to trzy bity: odczyt, zapis i wykonanie, w tej kolejności. Trzy bity dają dokładnie jedną cyfrę ósemkową, więc każda grupa uprawnień mieści się w jednej cyfrze.
Zapis 755 oznacza więc: 7 to 111, czyli właściciel może wszystko; 5 to 101, czyli grupa może czytać i wykonywać, ale nie zapisywać; ostatnia 5 to to samo dla pozostałych użytkowników.
Podobnie 644 to 110, 100 i 100: właściciel czyta i zapisuje, reszta tylko czyta. To najczęstsze uprawnienia plików, które nie są programami.
Systemy liczbowe bez kalkulatora: jak sprawdzić wynik
Trzy sposoby na wyłapanie błędu, zanim odda się kartę:
Sprawdź rząd wielkości. Liczba ośmiobitowa mieści się w zakresie od 0 do 255. Jeśli wyszło więcej, gdzieś doszedł dodatkowy bit.
Sprawdź parzystość. Ostatni bit binarny mówi, czy liczba jest parzysta. Jeśli kończy się zerem, wynik dziesiętny musi być parzysty.
Przelicz z powrotem. Najpewniejsza metoda i zajmuje kilkanaście sekund. Zamiana w drugą stronę powinna dać liczbę wyjściową.
W Windowsie kalkulator w trybie programisty pokazuje wszystkie cztery systemy naraz, a w Linuksie tę samą robotę wykona polecenie printf z odpowiednim formatem. Do nauki lepiej jednak liczyć ręcznie, bo na egzaminie zawodowym kalkulatora do dyspozycji nie ma.
Najczęściej zadawane pytania
Ile wartości mieści się w jednym bajcie?
256, czyli od 0 do 255. Bajt ma osiem bitów, a każdy przyjmuje dwie wartości, więc kombinacji jest 2 do potęgi ósmej. Więcej o tych zależnościach w tekście o jednostkach informacji.
Jak szybko zamienić liczbę binarną na szesnastkową?
Podzielić ją na czwórki bitów od prawej strony i każdą czwórkę zamienić osobno według tabeli. Nie trzeba przechodzić przez system dziesiętny, co oszczędza najwięcej czasu.
Skąd biorą się litery w systemie szesnastkowym?
Z braku cyfr. System potrzebuje szesnastu znaków, a mamy tylko dziesięć cyfr, więc wartości od 10 do 15 zapisuje się literami od A do F.
Dlaczego uprawnienia w Linuksie zapisuje się ósemkowo?
Bo uprawnienia to trzy bity na grupę, a trzy bity to dokładnie jedna cyfra ósemkowa. Dzięki temu komplet uprawnień mieści się w trzech cyfrach.
Która metoda zamiany na binarny jest lepsza?
Przy liczbach do 255 szybsze jest odejmowanie wag, bo robi się je w pamięci. Przy większych pewniejsze jest dzielenie przez dwa z zapisywaniem reszt.
Podsumowanie
Systemy liczbowe opierają się na jednej zasadzie: pozycja cyfry to kolejna potęga podstawy. Z binarnego na dziesiętny sumujesz wagi 128, 64, 32 i tak dalej, w drugą stronę odejmujesz je albo dzielisz przez dwa z resztą.
Najbardziej opłacalny skrót dotyczy szesnastkowego: cztery bity to jedna cyfra, więc konwersja sprowadza się do podziału na czwórki i odczytania z tabeli. Ta jedna umiejętność załatwia i kolory, i adresy MAC, i zapis bajtów w pamięci.
Stan na październik 2026 r.
