Informatyka

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.

SystemPodstawaCyfryGdzie się z nim spotkasz
dwójkowy20, 1maski podsieci, uprawnienia, flagi
ósemkowy80 do 7uprawnienia w Linuksie, np. 755
dziesiętny100 do 9codzienne liczenie
szesnastkowy160 do 9, A do Fkolory, 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.

BinHexBinHexBinHexBinHex
0000001004100081100C
0001101015100191101D
00102011061010A1110E
00113011171011B1111F

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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *