Wszystkie zagadnienia: Teoria
średni systemy liczbowebinarnyósemkowyszesnastkowymatura rozszerzona z informatyki

Binarny ↔ ósemkowy ↔ szesnastkowy: zamiana grupami bitów

Grupowanie bitów po cztery i po trzy – zamiana między podstawami 2, 8 i 16 bez dzielenia, kierunek grupowania od prawej i uzupełnianie zerami z lewej.

01

Opis

Między systemem binarnym a szesnastkowym istnieje skrót, którego nie ma między binarnym a dziesiętnym. Ponieważ 16 to 2 do potęgi 4, każda cyfra szesnastkowa odpowiada dokładnie czterem bitom. Konwersja sprowadza się więc do grupowania.

Idziemy od prawej strony, tniemy ciąg bitów na czwórki i każdą zamieniamy osobno na jedną cyfrę; w drugą stronę każdą cyfrę rozpisujemy z powrotem na cztery bity. Z ósemkowym jest identycznie, tylko grupy mają po trzy bity, bo 8 to 2 do potęgi 3.

Cztery zasady na każde zadanie z tego tematu:

  • Skrót działa wtedy i tylko wtedy, gdy jedna podstawa jest potęgą drugiej. Wykładnik mówi, ile cyfr mniejszej podstawy składa się na jedną cyfrę większej: 16 = 2⁴ to cztery bity, 8 = 2³ to trzy bity, 16 = 4² to dwie cyfry czwórkowe.
  • Grupujemy zawsze od prawej. Prawy koniec zapisu to pozycja jedności i tylko tam grupy stoją na swoim miejscu; podział od lewej daje inną liczbę, a nie inny zapis tej samej.
  • Brakujące cyfry dopisujemy z lewej strony. Zero z przodu jest kosmetyczne, zero z tyłu mnoży liczbę przez podstawę.
  • Każda grupa zamienia się osobno. Nie ma przeniesień ani dzielenia – dlatego ta zamiana jest szybka.

Zamianę z systemu dziesiętnego i na dziesiętny – gdzie grupowanie nie działa – opisuje hasło zamiana liczb między systemami.

02

Jak to działa

Zamieniamy 110101110 na szesnastkowy. Cięcie od prawej daje 1 1010 1110, więc niepełną grupę uzupełniamy zerami z lewej: 0001 1010 1110. Czwórki czytamy osobno – 1, A, E – czyli 1AE. Ta sama liczba po trzy bity to 110 101 110, czyli 656 ósemkowo. Kontrola: 1AE to 256 + 160 + 14, a 656 to 384 + 40 + 6 – oba razy 430.

W drugą stronę – szesnastkowy na dwójkowy. Rozpisujemy cyfra po cyfrze, zawsze na pełne cztery bity: C8 to 1100 i 1000, czyli 11001000. Zera wiodące wewnątrz zapisu są konieczne – 3A5 to 0011 1010 0101, a nie 11 1010 101. Dopiero na samym początku liczby wolno je pominąć, więc 3A5₁₆ to 1110100101 (dziesiętnie 933).

Dlaczego dwie cyfry szesnastkowe to jeden bajt. Bajt ma osiem bitów, a osiem to dwa razy cztery – stąd każdy bajt zapisuje się dokładnie dwiema cyframi, od 00 do FF, czyli od 0 do 255. To najczęstszy powód, dla którego używa się szesnastkowego: para znaków zamiast ośmiu zer i jedynek. Czym jest bajt, wyjaśnia hasło jednostki informacji.

Uogólnienie: to nie jest sztuczka dla dwójki. Grupowanie działa dla każdej pary podstaw, w której jedna jest potęgą drugiej, a wykładnik podaje rozmiar grupy. Ponieważ 4 = 2², dwa bity dają jedną cyfrę czwórkową (11 01 10 to 312₄); ponieważ 16 = 4², dwie cyfry czwórkowe od prawej dają jedną cyfrę szesnastkową. Tak samo działa para podstaw 3 i 9.

Stąd praktyczna użyteczność szesnastkowego: kolory, gdzie składowa to jeden bajt, czyli dwa znaki – kolor i rozmiar obrazu; numery znaków – kodowanie znaków; adresy pamięci i maski bitowe.

03

Wizualizacja

Tabela wejściowa
Dane wejścioweWartość
Liczba w systemie dwójkowym110101110
Cel 1: szesnastkowy16 = 2⁴, więc grupy po 4 bity
Cel 2: ósemkowy8 = 2³, więc grupy po 3 bity
→
Wynik
KrokCo robimyZapisWynik
1tniemy od prawej po cztery bity1 1010 1110pierwsza grupa ma jeden bit
2uzupełniamy ją zerami z lewej0001 1010 1110wartość bez zmian
3czytamy czwórki osobno0001 → 1, 1010 → A, 1110 → E1AE szesnastkowo
4tę samą liczbę tniemy po trzy bity110 101 110grupy od razu pełne
5czytamy trójki osobno110 → 6, 101 → 5, 110 → 6656 ósemkowo
6kontrola przez dziesiętny256 + 160 + 14 oraz 384 + 40 + 6oba zapisy dają 430
Pułapkacięcie od lewej, zera z prawej1101 0111 0000D70, czyli 3440 – osiem razy za dużo
04

Tabela

Wszystkie czwórki bitów i odpowiadające im cyfry szesnastkowe
BityCyfraBityCyfra
0000010008
0001110019
001021010A
001131011B
010041100C
010151101D
011061110E
011171111F
05

Porównanie

CechaDwójkowyÓsemkowySzesnastkowy
Podstawa2816
Podstawa jako potęga dwójki2¹2³2⁴
Ile bitów niesie jedna cyfra134
Rozmiar grupy bitówgrupy zbędnepo 3 bitypo 4 bity
Największa cyfra17F
Ile cyfr zajmuje bajt83 (z zerem wiodącym)2
Liczba 4301101011106561AE
Liczba 25511111111377FF
Gdzie się spotykamaski bitoweuprawnienia plików w Linuksiekolory, adresy, kody znaków
Nazwa angielskabinaryoctalhexadecimal
06

Typowe błędy

Cięcie od lewej zamiast od prawej. Zapis 110101110 podzielony od lewej daje 1101, 0111 i osamotnione 0, więc uczeń dopisuje zera z prawej i odczytuje D70. To 3440, a poprawny wynik to 430 – liczba urosła osiem razy, bo z prawej doszły trzy zera. Grupy mają sens tylko wtedy, gdy najmłodsza kończy się na pozycji jedności: pierwsze cięcie robimy przy prawym końcu, niepełna grupa zostaje z lewej.

Zera wiodące pominięte wewnątrz zapisu. Przy rozwijaniu szesnastkowego na bity każda cyfra musi dać pełne cztery bity: 3A5 to 0011 1010 0101, a nie 11 1010 101. Zjedzenie dwóch zer przy cyfrze 3 zmienia liczbę nie do poznania. Skrócić wolno dopiero na początku gotowego zapisu.

Litera potraktowana jak mnożenie albo jak dwie cyfry. C8 to nie „C razy 8" i nie „12 i 8 obok siebie" – C jest tu zwykłą cyfrą o wartości 12, a rozwinięcie daje 1100 1000, czyli 200. Odwrotna wersja błędu jest równie kosztowna: uczeń zapisuje grupę 1100 jako 12 zamiast jako C i zapis robi się o cyfrę dłuższy.

Pomylony rozmiar grupy. Trójki użyte tam, gdzie miały być czwórki, dają zapis wyglądający poprawnie, więc błąd przechodzi niezauważony. Kontrola: cyfra większa od 7 wyklucza zapis ósemkowy. Zapamiętaj wykładnik, nie rozmiar: 8 = 2³ i 16 = 2⁴.

Grupowanie stosowane do podstawy, która nie jest potęgą. Dziesiątka nie jest potęgą dwójki, więc cięcie zapisu na kawałki daje bzdurę. Nie da się też jednym cięciem przejść z ósemkowego na szesnastkowy – 16 nie jest potęgą 8, trzeba najpierw rozpisać cyfry na trójki bitów.

07

Zapamiętaj

  • Jedna cyfra szesnastkowa = dokładnie cztery bity; jedna cyfra ósemkowa = dokładnie trzy bity.
  • Grupujemy zawsze od prawej strony, a brakujące bity dopisujemy zerami z lewej.
  • Nie trzeba przechodzić przez system dziesiętny – to strata czasu i źródło błędów.
  • Dwie cyfry szesnastkowe to jeden bajt, stąd zapis kolorów w postaci sześciu znaków.
  • Ósemkowy ↔ szesnastkowy: przez binarny (rozpisz na bity, pogrupuj inaczej).
  • Skrót działa dla każdej pary podstaw, w której jedna jest potęgą drugiej, a wykładnik podaje rozmiar grupy: 16 i 4 to pary cyfr.
  • Przy rozwijaniu na bity każda cyfra dostaje pełną grupę, z zerami wiodącymi.
08

Sprawdź się

Trzy liczby, każda w swoim systemie:

EtykietaZapisSystem
A10111011dwójkowy
B3A5szesnastkowy
C753ósemkowy

Uzupełnij tabelę – zapisy bez spacji i bez indeksów:

PytanieOdpowiedź
Liczba A w systemie szesnastkowym
Liczba A w systemie dziesiętnym
Liczba B w systemie dziesiętnym
Liczba B w systemie ósemkowym
Liczba C w systemie szesnastkowym
Liczba C w systemie dziesiętnym
Ile bitów niesie jedna cyfra ósemkowa?
Ile bitów ma zapis dwójkowy liczby B bez zer wiodących?

Zapis 2D₁₆ rozwija się jednym ruchem na 0010 1101, czyli dziesiętnie . Ponieważ 16 to 4 do kwadratu, dwie cyfry czwórkowe od prawej dają jedną szesnastkową, więc 223₄ zapisuje się szesnastkowo jako .

09

Najczęściej zadawane pytania

Dlaczego grupujemy akurat po cztery?

Bo 2 do potęgi 4 daje 16, czyli dokładnie tyle, ile cyfr ma system szesnastkowy. Cztery bity mają 16 kombinacji i każda ma swój znak – dopasowanie jest idealne, bez reszty.

A jak zamienić binarny na ósemkowy?

Identycznie, tylko grupujemy po trzy bity, bo 2 do potęgi 3 to 8. 110101110 to 110 101 110, czyli 656.

Jak zamienić szesnastkowy na binarny?

Każdą cyfrę zamień osobno na cztery bity i sklej wyniki. C8 to 1100 i 1000, czyli 11001000. Nie trzeba przechodzić przez system dziesiętny.

Czy można tak samo przejść na dziesiętny?

Nie. Dziesiątka nie jest potęgą dwójki, więc żadna stała liczba bitów nie odpowiada jednej cyfrze dziesiętnej. Tam trzeba liczyć przez potęgi albo dzielić – patrz zamiana liczb między systemami.

Czy grupowanie działa między podstawami 4 i 16?

Tak, bo 16 to 4 do kwadratu – wykładnik 2 mówi, że jedną cyfrę szesnastkową tworzą dwie cyfry czwórkowe, liczone od prawej. 12133₄ uzupełnione z lewej do 012133 rozpada się na pary 01, 21, 33, czyli 1, 9 i 15, a to daje 19F₁₆.

Dlaczego jeden bajt to zawsze dwie cyfry szesnastkowe?

Bo osiem bitów dzieli się na dwie czwórki bez reszty: od 00 (0) do FF (255). Ósemkowo tak równo nie wychodzi – osiem bitów to dwie trójki i jeden bit z wierzchu, więc bajt zajmuje trzy cyfry, od 000 do 377.

Przećwicz w zadaniach maturalnych

Do tego hasła nie mamy jeszcze przypisanych pojedynczych zadań. Cały spis zadań maturalnych z tego działu jest tutaj:

Zadania z działu: Teoretyczne

↗

Powiązane zagadnienia