|
Serwis Edukacyjny w I-LO w Tarnowie
Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy Wałaszek |
©2026 mgr Jerzy Wałaszek
|
| SPIS TREŚCI |
Komputery przetwarzają informacje zakodowane w postaci bitów. Powodów jest kilka, oto kilka z nich:
W informatyce bity oznaczamy tradycyjnie cyframi \(0\) i \(1\). Oczywiście wewnątrz komputera nie ma żadnych zer i jedynek. Komputery są urządzeniami elektronicznymi i reagują na poziomy napięć, np.:
A co z napięciami \(0{,}8\dots2{,}4V?\) Jest to tzw. pasmo zabronione, które oddziela napięcia rozróżniane jako stan \(0\) i stan \(1\) bitu. Pasmo takie musi istnieć, aby bit był reprezentowany jednoznacznie – zastanów się na tym.
Kod binarny, kod dwójkowy (ang. binary code) jest systemem kodowania informacji za pomocą bitów. Komputery przetwarzają informację w porcjach, grupach bitów. Najczęściej grupy te liczą \(8\), \(16\), \(32\), \(64\) bity.
Grupę \(8\) bitów nazywamy bajtem (ang. byte). Zajmijmy się przez chwilę bajtami.
W metodach numerycznych najbardziej interesują nas liczby, dlatego zobaczmy, jak można kodować liczby za pomocą bitów. Wiedza ta nie jest niezbędna, lecz pozwala zrozumieć własności liczb, którymi operują komputery w obliczeniach.
Zapiszmy bity w bajcie symbolicznie przy użyciu literki \(b\), która oznacza jeden ze stanów bitu, \(0\) lub \(1\):
W takiej postaci zapisu trudno nam rozróżniać poszczególne bity. Dlatego ponumerujemy je od strony prawej do lewej (dlaczego właśnie tak? A czemu nie? Wyjaśni się to później):
Teraz możemy się odwoływać jednoznacznie do każdego bitu w bajcie:
| \(b_0\) – bit najmniej znaczący
(ang. LSB, the least significant bit) \(b_7\) – bit najbardziej znaczący (ang. MSB, the most significant bit) |
Załóżmy, że nasz bajt bitowo wygląda następująco:
Po rozkładzie na poszczególne bity, otrzymujemy:
Aby otrzymać z bitów kod binarny, musimy wymyślić funkcję, która przeprowadza wartości bitów w bajcie w liczbę. Takich funkcji może być dowolnie wiele. Na przykład możemy powiedzieć tak:
Otrzymujemy w ten sposób tzw. kod \({1\text{ z }8:}\)
| Kod | Wartość |
| \(00000000\) | \(0\) |
| \(0000000\class{t}{1}\) | \(1\) |
| \(000000\class{t}{1}0\) | \(2\) |
| \(00000\class{t}{1}00\) | \(3\) |
| \(0000\class{t}{1}000\) | \(4\) |
| \(000\class{t}{1}0000\) | \(5\) |
| \(00\class{t}{1}00000\) | \(6\) |
| \(0\class{t}{1}000000\) | \(7\) |
| \(\class{t}{1}0000000\) | \(8\) |
Kod ten nie nadaje się za dobrze do wykonywania obliczeń, lecz nam chodzi tutaj o zrozumienie samej idei kodu binarnego. Podsumowując, kod binarny jest po prostu odwzorowaniem bitów w informację, którą chcemy zakodować. \({8{-}\text{bitowy}}\) kod \({1\text{ z }8}\) pozwala zakodować liczby od \(0\) do \(8\). Odwzorowanie jest jednoznaczne, tzn. jedno słowo kodu ma zawsze jedną możliwą wartość i każda kodowana wartość ma zawsze tylko jedno słowo kodowe.
Czy można stworzyć kod niejednoznaczny? Oczywiście, na przykład tak:
| Kody | Wartość |
| \(00000000\) | \(0\) |
| \(0000000\class{t}{1},000000\class{t}{1}0,00000\class{t}{1}00\dots\class{t}{1}0000000\) | \(1\) |
| \(000000\class{t}{11},00000\class{t}{1}0\class{t}{1},0000\class{t}{1}00\class{t}{1}\dots\class{t}{11}000000\) | \(2\) |
| \(00000\class{t}{111},0000\class{t}{1}0\class{t}{11},000\class{t}{1}00\class{t}{11}\dots\class{t}{111}00000\) | \(3\) |
| \(0000\class{t}{1111},000\class{t}{1}0\class{t}{111},00\class{t}{1}00\class{t}{111}\dots\class{t}{1111}0000\) | \(4\) |
| \(000\class{t}{11111}\dots\class{t}{11111}000\) | \(5\) |
| \(00\class{t}{111111}\dots\class{t}{111111}00\) | \(6\) |
| \(0\class{t}{1111111}\dots\class{t}{1111111}0\) | \(7\) |
| \(\class{t}{11111111}\) | \(8\) |
W tym kodzie tylko dwa kody są jednoznaczne: \({00000000 = 0}\) oraz \({11111111 = 8}\). Wszystkie pozostałe wartości posiadają wiele reprezentacji (np. wartość \(1\) ma \(8\) różnych słów kodowych), zatem nie ma tutaj jednoznaczności.
W następnych podrozdziałach zajmiemy się praktycznymi kodami binarnymi. Jeśli chcesz poszerzyć swoją wiedzę na temat kodów binarnych, zapoznaj się z podanymi poniżej artykułami:
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.