Wprowadzenie do kodowania binarnego

Listopad 2016

Wprowadzenie do kodowania binarnego


Pod koniec lat 30. XX w. Claude Shannon udowodnił, że przy użyciu przełączników, które, zamknięte, oznaczały “prawdę”, a otwarte “fałsz”, można przeprowadzać operacje logiczne, oznaczając jako 1 “prawdę” i jako 0 „fałsz”.

Ten system kodowania informacji jest nazywany binarnym. Jest to forma kodowania, dzięki której działa komputer. Kodowanie binarne używa dwóch stanów (wyrażanych poprzez cyfry 0 i 1) do kodowania informacji.

Od roku 2000 p.n.e. ludzie liczyli przy użyciu 10 cyfr (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Nazywamy to “bazą dziesiętną” (lub base 10). Jednakże starsze cywilizacje, a nawet niektóre nowoczesne zastosowania, wykorzystują inne bazy:

  • Sześćdziesiątkowa (60), używana przez Sumerów. Ta baza jest także wykorzystywana przez nas do pomiaru czasu – minut i sekund;
  • Dwudziestkowa (20), z której korzystali Majowie;
  • Dwunastkowa (12), używana w systemach monetarnych Wielkiej Brytanii i Irlandii do 1971 r.: funt był wart 20 szylingów, szyling – 12 pensów. Obecny system pomiaru czasu także jest oparty na dwunastu godzinach (zwłaszcza w USA);
  • Piątkowy (5), wykorzystywany przez Majów;
  • Dwójkowy – binarny (2), wykorzystywany przez całą nowoczesną technologię.

Bit


Pojęcie bit (skracane do małego b) znaczy "liczbę dwójkową ", czyli 0 lub 1 w numeracji binarnej. Jest to najmniejsza jednostka informacji, którą może operować urządzenie cyfrowe. Można ją przedstawić np.:

  • w postaci sygnału elektrycznego lub magnetycznego, który, powyżej pewnego progu, oznacza 1;
  • poprzez nierówności na powierzchni;
  • przy użyciu flip-flopów (in. przekaźników bistabilnych), elementów elektrycznych posiadających dwa stabilne stany (jeden za 1, drugi za 0).

Zatem bit może być ustawiony na dwa sposoby: 1 lub 0. Z dwoma bitami mamy 4 różne stany:
(2*2):


0
0
0
1
1
0
1
1


Z 3 bitami mamy 8 różnych stanów (2*2*2):


3-bitowa wartość binarna
Wartość dziesiętna
000
0
001
1
010
2
011
3
100
4
101
5
110
6
111
7


Dla grupy n bitów można przedstawić 2n wartości.

Wartości bitu


W liczbie binarnej wartość bitu zależy od pozycji, licząc od prawej. Tak jak dziesiątki, setki i tysiące w liczbach dziesiętnych, wartość bitu rośnie o potęgę liczby 2 licząc od prawej do lewej, tak jak na poniższym wykresie:


Liczba binarna
1
1
1
1
1
1
1
1
wartość
27 = 128
26 = 64
25 = 32
24 = 16
23 = 8
22 = 4
21 = 2
20 = 1

Przeliczanie


Aby przeliczyć ciąg binarny na liczbę dziesiętną, należy pomnożyć wartość każdego bitu przez jego wagę i dodać wyniki. Zatem ciąg binarny 0101 w wersji dziesiętnej to:

23x0 + 22x1 + 21x0 + 20x1 = 8x0 + 4x1 + 2x0 + 1x1 = 5

Bajt


Bajt (w skrócie duże B) to jednostka informacji złożona z 8 bitów.

Można jej używać do przechowywania m. in. znaku, np. litery lub liczby.

Grupowanie liczb w ciągi 8-cyfrowe sprawia, że łatwiej je odczytać, tak jak grupowanie po 3 w systemie dziesiętnym ułatwia odczytywanie tysięcy. Np. liczba "1,256,245" jest łatwiejsza do odczytania niż "1256245".

16-bitowa jednostka informacji jest zwykle nazywana wyrazem.

32-bitowa jednostka informacji jest nazywana podwójnym wyrazem (lub też dword).

Dla bajtu najmniejszą możliwą liczbą jest 0 (przedstawiane w formie ośmiu zer, 00000000), zaś największą 255 (osiem jedynek, 11111111), czyli w sumie możliwych jest 256 różnych wartości.


27 =128
26 =64
25 =32
24 =16
23 =8
22 =4
21 =2
20 =1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

Kilobajty i megabajty


Przez długi czas informatyka korzystała z innych wartości dla swoich jednostek niż system metryczny (in. International System). Użytkownicy komputerów często ze zdziwieniem dowiadywali się, że 1 kilobajt to 1024 bajty. Z tego powodu w grudniu 1998 r. International Electrotechnical
Commission (Międzynarodowa Komisja Elektrotechniczna) rozważyła tę sprawę. Oto standardowe jednostki IEC:

  • 1 kilobajt (kB) = 1000 bajtów.
  • 1 megabajt (MB) = 1000 kB = 1,000,000 bajtów.
  • 1 gigabajt (GB) = 1000 MB = 1,000,000,000 bajtów.
  • 1 terabajt (TB) = 1000 GB = 1,000,000,000,000 bajtów.


Note
Uwaga! Niektóre programy (a nawet systemy operacyjne) wciąż używają notacji sprzed 1998 r.,

czyli:
  • 1 kilobajt (kB) = 210 bajtów = 1024 bajtów.
  • 1 megabajt (MB) = 220 bajtów = 1024 kB = 1,048,576 bajtów.
  • 1 gigabajt (GB) = 230 bajtów = 1024 MB = 1,073,741,824 bajtów.
  • 1 terabajt (TB) = 240 bajtów = 1024 GB = 1,099,511,627,776 bajtów.



IEC określiło także binarne kilo- (kibi), mega- (mebi), giga- (gibi), oraz tera- (tebi).

Definiuje się je jako:

  • 1 kibibajt (kiB) to 210 = 1024 bajtów.
  • 1 mebibajt (MiB) to 220 = 1,048,576 bajtów.
  • 1 gibibajt (GiB) to 230 = 1,073,741,824 bajtów.
  • 1 tebibajt (TiB) to 240 = 1,099,511,627,776 bajtów.


W niektórych językach, np. francuskim czy fińskim, słowo oznaczające “bajt” nie zaczyna się od “b”, ale społeczność międzynarodowa woli raczej określenie angielskie “byte”. Stąd następujące zapisy dla kilobajtu, megabajtu, gigabajtu i terabajtu:

kB, MB, 

GB, TB

Note
Zwróć uwagę na wielkość liter B odróżniającą Bajt od bitu.

Oto zrzut ekranu z programu HTTrack, najpopularniejszej przeglądarki web offline, pokazujący, jak używa się tego zapisu:

HTTrack screenshot

Operacje binarne


Proste działania arytmetyczne, np. dodawanie, odejmowanie i mnożenie można łatwo wykonać w systemie binarnym.

Dodawanie w systemie binarnym


Dodawanie w systemie binarnym opiera się na tych samych zasadach, co w dziesiętnym:

Zacznij od dodawania bitów o najniższej wartości (po prawej) i przenieś wartość na następne miejsce, jeśli suma 2 bitów na tej samej pozycji przekracza największą wartość jednostki (w systemie binarnym: 1). Ta wartość jest przenoszona do bitu na kolejnej pozycji.

Na przykład:



0
1
1
0
1
+
0
1
1
1
0
-
-
-
-
-
-
1
1
0
1
1

Mnożenie w systemie binarnym


Tabliczka mnożenia w systemie binarnym jest prosta:

  • 0x0=0
  • 0x1=0
  • 1x0=0
  • 1x1=1


Mnożenie wykonuje się poprzez obliczanie częściowego wyniku dla każdego mnożnika (tylko niezerowe bity dadzą niezerowy wynik). Kiedy bit mnożnika ma wartość 0, częściowy wynik to 0; kiedy ma wartość 1, częściowy wynik oblicza się z mnożnej, przesuniętej o X miejsc, gdzie X jest równe wadze bitu mnożnika.

Na przykład:


0
1
0
1 mnożna
x
0
0
1
0 mnożnik
-
-
-
-
-
-
0
0
0
0
0
1
0
1
0
0
0
0
-
-
-
-
-
-
0
1
0
1
0

Zobacz również :

Structure tags
Structure tags
Etiquetas de estructuras
Etiquetas de estructuras
Die Struktur-Tags
Die Struktur-Tags
Les balises de structure
Les balises de structure
I tag di struttura
I tag di struttura
As balizas de estrutura
As balizas de estrutura
Ten dokument zatytułowany «  Wprowadzenie do kodowania binarnego  » opublikowany przez CCM (pl.ccm.net) jest udostępniany na licencji Creative Commons. Możesz kopiowaći modyfikować kopie tej strony, na warunkach określonych przez licencjęi wymienionych w niniejszym tekście.