Pojęcie bitu
Czym jest bit i po co jest on nam potrzebny?


 

Na potrzeby tego rozdziału przyjmijmy, iż informacja jest pojęciem pierwotnym, którego nie będziemy definiowali. Ma to pewien sens, ponieważ każdy z nas posiada wewnętrzne zrozumienie tego terminu. Zastanówmy się natomiast, jak można reprezentować, przedstawiać informację.

  • Za pomocą słów - nie ma wątpliwości, iż ludzie opracowali bardzo efektywny dla siebie sposób reprezentowania różnych pojęć za pomocą słów. System ten stosujemy codziennie do komunikowania się. Skoro działa, jest zatem dobry.
  • Za pomocą pisma - słowa możemy zapisać, np. na papierze. W ten sposób utrwalimy je dla innych ludzi, którzy nie mieli okazji ich usłyszeć. A być może wcale nic nie mówiliśmy, tylko od razu zapisaliśmy naszą informację w formie pisemnej.
  • Za pomocą gestów - wzruszenie ramion, rozłożenie rąk, uchwycenie się za głowę - gesty te niewątpliwie niosą dla nas różne informacje.
  • Za pomocą innych sposobów - np. liczby, znaki drogowe, kolory, fale radiowe, prąd elektryczny i setki innych sposobów, które wymyślił człowiek (lub przyroda - np. kod DNA) do przekazania określonych informacji.

Zatem słowa, pismo, gesty, znaki, wszystko to może służyć do reprezentowania informacji. Elementy te będziemy ogólnie nazywali symbolami. Z kolei zbiór takich symboli nazwiemy danymi - czyli dane, to symbole, które mogą reprezentować informację. Aby wydobyć informację z danych, musimy wiedzieć, w jaki sposób informacja została z tymi danymi skojarzona, powiązana. Nie jest to wcale oczywiste. Jeśli masz wątpliwości, to proponuję taki prosty eksperyment:

Nastaw odbiornik radiowy na audycję w obcym sobie języku i posłuchaj jej przez chwilę.

 

Czy rozumiesz o czym mówią ludzie w tej audycji? A jeśli nie, to z jakiego powodu? Oczywiście odpowiesz - bo nie znam tego języka, co w tym dziwnego. Masz rację. Nie znasz języka i nie rozumiesz. Ale przecież odbierasz dane - czyli słowa. Gdyby dane były równoważne informacji, to odczytanie jej z tych danych nikomu nie sprawiałoby żadnej trudności i nie musiałbyś uczyć się w szkole języków obcych (wszystkie języki byłyby nasze). Niestety tak nie jest. Zatem wniosek może być tylko jeden. Same dane nie są jeszcze informacją. Musimy jeszcze znać sposób przypisania danych do określonych informacji - w przypadku języka oznacza to konieczność poznania znaczenia słówek oraz gramatyki, inaczej będziesz miał poważne kłopoty ze zrozumieniem.

Daną informację można reprezentować za pomocą różnych symboli. Przykładowo pojęcie PRZYJACIEL w różnych językach to różne słówka:

 

friend - angielski
Freund - niemiecki
amigo - hiszpański
ami - francuski
barát - węgierski
mellon - elficki z Władcy Pierścieni Tolkiena (czarodziej Gandalf wypowiada to słowo, aby otworzyć magiczne wejście do kopalń Morii).
c'khrng - dźwięk wydawany na widok przyjaciela przez żabopodobne stwory, żyjące w bagnistych kraterach na czwartym księżycu ósmej planety systemu Syriusza. Ich krewniaki Lekhomonty w tej samej sytuacji wysyłają błysk promieni gamma.

 

Symbole są różne, lecz znaczenie takie samo. Istnieją oczywiście kontrprzykłady - ten sam symbol oznacza różne informacje, np. słowa wieloznaczne:

 

zamek (w drzwiach, w kurtce lub duży dom dla rycerza)

dziób (ptaka, samolotu, okrętu)

blok (mieszkanie, krążek z liną, zablokowanie ciosu w karate)

 

Jednakże w większości przypadków nie dochodzi do zamieszania, ponieważ właściwe znaczenie słowa wybieramy w zależności od sytuacji, w której jest ono używane. Jeśli mówimy o zamykaniu zamka na klucz, to oczywiście mamy na myśli zamek w drzwiach, a nie miejsce noclegowe dla rycerzy (chociaż te zamki też pewnie można było zamykać na klucze). Taka jednoznaczna sytuacja nazywa się kontekstem użycia danych.

 

Co z tego dla nas wynika? Otóż jeśli chcemy wyrażać informację w jakiejś czytelnej dla innych formie, to:

  1. Musimy znaleźć odpowiednie symbole, czyli określić dane
  2. Musimy tym danym nadać odpowiednie znaczenia, czyli określić ich interpretację
  3. Znaczenia danych musimy upowszechnić w grupie, w której będą one wykorzystywane, czyli określić kontekst.

 

DANE + INTERPRETACJA + KONTEKST → INFORMACJA

 

Jeśli powyższe trzy punkty spełnimy, otrzymamy system reprezentacji określonych informacji za pomocą wybranych symboli - danych. Gdy to już wiemy i rozumiemy, możemy przejść do pojęcia bitu.


Postawmy się w roli pioniera komputerów. Mamy przed sobą bardzo poważne zadanie - budowę komputera, czyli maszyny liczącej, która będzie przetwarzała informację. Zanim zaczniemy montować to ogromniaste urządzenie z tysięcy podzespołów i setek kilometrów kabli, musimy określić zbiór symboli, które maszyna ma przetwarzać. Innymi słowy musimy określić zbiór danych dla maszyny oraz sposoby ich interpretacji.

Jakie symbole wybrać? Mowę? Za trudna i jak ją zapisywać wewnątrz maszyny! Pismo? Też trudne. Gesty lepiej zapomnieć. Ideałem byłby symbole najprostsze z możliwych. Dla takich symboli może znaleźlibyśmy jakieś w miarę proste sposoby ich realizacji w naszym komputerze za pomocą odpowiednich obwodów elektronicznych. Co to mogłoby być?

I w tym miejscu ktoś kiedyś dostał olśnienia - najprostszym symbolem byłby taki symbol, który mógłby występować tylko w dwóch rozróżnialnych postaciach, w dwóch formach, najlepiej przeciwnych. Dlaczego akurat w dwóch a nie w trzech. Bo dwie postacie są prostsze od trzech, jasne?!

W układzie elektronicznym taki symbol mógłby być przedstawiany przez np. dwa różne napięcia elektryczne - pierwsza postać symbolu to napięcie powiedzmy 5V, a druga postać to napięcie 0V. Dwa różne napięcia da się łatwo rozróżnić i projekt układów elektronicznych, które na takie napięcia reagują nie jest wcale taki trudny (dla inżyniera elektronika oczywiście - dla większości licealistów jest to problem typu niemożliwego). Zamiast napięcia można na przedstawiciela naszego symbolu wybrać wybrać prąd elektryczny - prąd płynie w obwodach - pierwsza postać, prąd nie płynie - druga postać. A może światło? Jest strumień świetlny - pierwsza postać, nie ma strumienia - postać druga (cały czas czekam, aż w końcu pojawią się komputery wykorzystujące, zamiast prądów i napięć, fotony. Przyjemnie byłoby zdjąć obudowę i popatrzyć sobie, jak nasz komputerek ładnie w środku sobie świeci).

W tym momencie powinieneś zapytać - no dobrze, ale po co mi to wszystko jest potrzebne?

Cały czas chodzi nam o przedstawianie informacji przy pomocy jak najprostszych symboli. Znaleźliśmy proste dane - symbole dwustanowe. Musimy pokazać, iż takie symbole będą dobrze nadawały się do naszego celu, czyli pozwolą kojarzyć ze sobą dowolną ilość informacji.

Aby ułatwić sobie życie, oznaczmy stany naszego symbolu cyframi 1 (stan wysoki - np. napięcie 5V, prąd płynie, jest światło, itp.) oraz 0 (stan niski - np. napięcie 0V, brak prądu, brak światła, itp.). Dlaczego akurat wybraliśmy cyfry 1 i 0? A dlaczego nie? Są to znaki równie dobre jak każde inne (np. elektronicy często w tym samym charakterze wykorzystują literki H - stan wysoki i L - stan niski), a dodatkowo, co zobaczymy w dalszych rozdziałach, cyfry 0 i 1 posiadają wiele pożytecznych dla nas zalet. Otrzymany zbiór danych zawiera teraz dwa rozróżnialne symbole:

 

Zbiór danych = {0, 1}

 

Dwóm symbolom można przypisać dwa różne znaczenia, dwie informacje. Jakie? Potrzebne nam w danym zastosowaniu. Dla przykładu wyobraźmy sobie, iż nasz system komputerowy zbiera dane od czujników pożarowych, umieszczonych w różnych punktach budynku. Czujnik pożarowy reaguje na wzrost temperatury lub dym. Jeśli temperatura osiągnie krytyczną wartość lub pojawi się dym w otaczającym czujnik powietrzu, wewnątrz zostają zwarte dwa przewody i zaczynie płynąć prąd elektryczny. Brak prądu (stan niski 0) oznacza zatem normalną temperaturę w chronionym pomieszczeniu. Pojawienie się prądu (stan wysoki 1) informuje nas o wysokiej temperaturze, czyli o wybuchu pożaru. W tym kontekście stany 0 i 1 mają oczywiste znaczenie:

0 - wszystko jest w porządku, 1 - pożar

W innym kontekście symbole 0 i 1 mogą posiadać zupełnie inne znaczenia (np. 1 - mamy czekoladę, jest dobrze; 0 - brakło czekolady, panika!). To od nas zależy co im przypiszemy - o znaczeniu używanych przez ludzi słów decydowali używający je ludzie, a nie niedźwiedzie w Alpach (te być może przyczyniły się do powstania słów w stylu AUUUUU..., które są rzadkimi, wspólnymi słowami dla prawie wszystkich języków, których użytkownicy mieli okazję spotkać niedźwiedzia. Jest to fascynujące, ale nie na temat).

Symbol, który może występować w jednym z dwóch stanów (form, postaci), nazwano bitem. Twórcą tej nazwy był amerykański statystyk John Turkey, który ją wymyślił w trakcie drugiego śniadania (najprawdopodobniej po wypiciu dokładnie dwóch łyków kawy z niewielkim dodatkiem mleka, co jednakże nie ma wpływu na dalsze losy bitów) na jednej z konferencji naukowych w zimie roku 1943-44. W owym czasie istniały już komputery wykorzystujące opisane przez nas powyżej symbole dwustanowe do wykonywania różnych obliczeń. Informatycy oznaczali je cyframi 0 i 1, ponieważ w tej postaci nadawały się doskonale do przedstawiania liczb binarnych, dwójkowych, za pomocą których komputery liczyły. John Turkey utworzył nazwę bit z literek dwóch słów angielskich: binary digit (cyfra dwójkowa, czyli 0 lub 1):

 

bit = binary digit

 

W późniejszym okresie John ujawnił, iż rozważał jeszcze dwie inne kombinacje literek:

 

bigit = binary digit
binit = binary dig
it

 

Jak dzisiaj już wiemy, przyjęła się tylko pierwsza forma. Określenie bit w charakterze symbolu dwustanowego, przeznaczonego do symbolicznego reprezentowania informacji pojawiło się po raz pierwszy w 1948 roku w pracach wybitnego informatyka, Claude Shannona, twórcy teorii informacji.

 

Zapamiętaj:

Bit jest symbolem występującym tylko w dwóch różnych stanach, które w informatyce najczęściej oznaczamy cyframi dwójkowymi 0 i 1. Nazwa bit pochodzi od słów angielskich binary digit (cyfra dwójkowa). Nazwę tę wymyślił John Turkey w 1943 roku.

 

 

Jednemu bitowi możemy przypisać maksymalnie dwie różne informacje - jedną dla stanu 1 oraz drugą dla stanu 0. Co jednak mamy zrobić, jeśli w pewnym kontekście musimy operować większą ilością informacji? Cóż, musimy potraktować bity jako literki i tworzyć z nich słowa - zupełnie tak samo jak w naszym ojczystym języku. Zbadajmy tę możliwość.

 

Słowo 1 bitowe

0 - pierwsza informacja
1 - druga informacja

Słowo 2 bitowe:

00 - pierwsza informacja
01 - druga informacja
10 - trzecia informacja
11 - czwarta informacja

Słowo 3 bitowe:

000 - pierwsza informacja
001 - druga informacja
010 - trzecia informacja
011 - czwarta informacja
100 - piąta informacja
101 - szósta informacja
110 - siódma informacja
111 - ósma informacja

Nowe kombinacje słówek binarnych otrzymujemy z poprzednich kombinacji dołączając do nich raz bit o stanie 0, a następnie jeszcze raz dołączając bit o stanie 1. W efekcie ilość kombinacji zawsze podwaja się.
2 4 8 16 32
0
1
00
01
10
11
000
001
010
011
100
101
110
111
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
...
11111

 

Widzimy wyraźnie, iż dodanie kolejnego bitu do słówka binarnego zwiększa dwukrotnie ilość możliwych kombinacji stanów bitów tworzących to słowo. Większa ilość kombinacji przekłada się na większą ilość informacji, które można bezpośrednio przypisać tworzonym słówkom binarnym. Ponieważ ilość kombinacji podwaja się przy każdym dodanym bicie, otrzymujemy proste zależności:

 

1 bit 2 informacje 21 informacji
2 bity 4 informacje 22 informacji
3 bity 8 informacji 23 informacji
4 bity 16 informacji 24 informacji
...   ...   ...
n bitów ... 2n informacji

 

Co z tego wynika? Otóż dla każdej skończonej ilości informacji x zawsze możemy dobrać takie n, aby n bitowe słówka binarne przyjęły tyle różnych stanów, ile jest potrzebne do zakodowania tej ilości informacji. W tym celu wystarczy, aby był spełniony warunek:

 

dla x > 1: n ≥ log2x, n Î N

Przykład:

Załóżmy, iż w pewnym systemie informatycznym musimy przetwarzać (posługiwać się) 1000 różnych informacji. Przetwarzane informacje będziemy w tym systemie przedstawiać n bitowymi słówkami. Ile musi wynosić n, aby n bitowe słówka binarne przyjęły co najmniej 1000 różnych kombinacji?

Odpowiedź: n ≥  log21000 ≈ 9,96578..., Przyjmijmy zatem n = 10.

Dla słówek 10 bitowych liczba wszystkich możliwych kombinacji wynosi 210 = 1024. Wynika z tego, iż w naszym systemie 24 słówka nie będą posiadały żadnego znaczenia - to nic, pozostaną na zapas, gdyby w przyszłości okazało się, iż zamiast 1000 informacji będziemy potrzebowali np. 1005.

 

Zapamiętaj:

Słówka n bitowe przyjmują 2n różnych kombinacji swoich stanów 0 lub 1.

Aby przyjąć x kombinacji, słówka binarne muszą składać się z (nlog2x) bitów.

 

 


Teraz możemy odpowiedzieć na postawione na początku rozdziału pytania:

 



List do administratora Serwisu Edukacyjnego Nauczycieli I LO

Twój email: (jeśli chcesz otrzymać odpowiedź)
Temat:
Uwaga: ← tutaj wpisz wyraz  ilo , inaczej list zostanie zignorowany

Poniżej wpisz swoje uwagi lub pytania dotyczące tego rozdziału (max. 2048 znaków).

Liczba znaków do wykorzystania: 2048

 

W związku z dużą liczbą listów do naszego serwisu edukacyjnego nie będziemy udzielać odpowiedzi na prośby rozwiązywania zadań, pisania programów zaliczeniowych, przesyłania materiałów czy też tłumaczenia zagadnień szeroko opisywanych w podręcznikach.



   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2017 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.