System dwójkowy

Z MruczekWiki

System dwójkowy (binarny) - pozycyjny system liczbowy, w którym liczby przedstawia się za pomocą dwóch cyfr - 0 oraz 1.

Suchar dotyczący systemu dwójkowego

Właściwości systemu dwójkowego

System dwójkowy jest obecnie używany w większości systemów komputerowych ze względu na to, że występują tylko dwa możliwe stany (włączony i wyłączony) dla każdej z cyfr (bitów). Pozwoliło to na zminimalizowanie błędów i przekłamań, przez co jest najczęściej używanym systemem pozycyjnym w informatyce.

Liczby zapisuje się jako ciągi cyfr, z których każda przybiera inną postać potęgi systemu.

Dla przykładu - liczba 27 w systemie dwójkowym może zostać zapisana w następujący sposób:

2710 = 2 * 101 + 7 * 100 = 1 * 24 + 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20 = 110112

Konwersja z systemu dziesiątkowego na binarny

Z początku konwertowanie liczb dziesiętnych do systemu binarnego będzie jedynie metodą zgadywania, z czasem jednak automatycznie nasz mózg będzie zamieniał system dziesiętny na dwójkowy.

System dwójkowy opiera się na potęgach dwójki (zobacz artykuł Potęga dwójki). Na Mruczek Wiki będziemy używać jedynie pięciocyfrowych liczb dwójkowych, co pozwoli nam na zapisanie 32 liczb (ostatnią liczbą którą można zapisać w pięciocyfrowym systemie dwójkowym jest 31, ze względu na to, że zapisujemy również 0).

Wobec tego będziemy używać pięciu potęg liczby 2: 1, 2, 4, 8 i 16. Liczenie odbywa się w podobny sposób co w systemie dziesiętnym, jedynie operujemy na dwóch cyfrach. Stąd też liczba 1 pozostanie liczbą 1 w systemie dwójkowym, natomiast liczba 2 stanie się 10 po przekonwertowaniu z systemu dziesiętnego na binarny (w systemie pozycyjnym o podstawie dwa liczymy dwójki).

Wymagane będzie trochę abstrakcyjnego myślenia. Przechodząc do dalszej części artykułu powinieneś zapomnieć na chwilę wszystko co wiesz o liczeniu. Pozwoli to na łatwe przyswojenie nowych wiadomości oraz zapoznanie się z systemem binarnym.

Zapis liczb w zakresie 31

Każdą potęgę dwójki w systemie dziesiętnym zapisujemy jako "potęgę dziesiątki" w systemie binarnym. Stąd liczby o mnożniku 2 przybierają następujące formy:

210 = 12 210 = 102 410 = 1002 810 = 1002 1610 = 10002

Na powyższym przykładzie widać pewien wzór inkrementacji. Nie jest on szczególny dla systemu dwójkowego, jednak pomoże nam on liczyć z początku. Poniżej przedstawiono liczby od 1 do 16 zapisane za pomocą potęg liczby 2. Potęgi dwójki które dodajemy w danym przykładzie wyszczególniono czerwonym kolorem.

110 = 16 + 8 + 4 + 2 + 1 = 12

210 = 16 + 8 + 4 + 2 + 1 = 102

310 = 16 + 8 + 4 + 2 + 1 = 112

410 = 16 + 8 + 4 + 2 + 1 = 1002

510 = 16 + 8 + 4 + 2 + 1 = 1012

610 = 16 + 8 + 4 + 2 + 1 = 1102

710 = 16 + 8 + 4 + 2 + 1 = 1112

810 = 16 + 8 + 4 + 2 + 1 = 10002

910 = 16 + 8 + 4 + 2 + 1 = 10012

1010 = 16 + 8 + 4 + 2 + 1 = 10102

1110 = 16 + 8 + 4 + 2 + 1 = 10112

1210 = 16 + 8 + 4 + 2 + 1 = 11002

1310 = 16 + 8 + 4 + 2 + 1 = 11012

1410 = 16 + 8 + 4 + 2 + 1 = 11102

1510 = 16 + 8 + 4 + 2 + 1 = 11112

1610 = 16 + 8 + 4 + 2 + 1 = 100002

...


Można zauważyć, że w każdej następnej liczbie dodajemy jeden od prawej strony. Jeżeli już jest tam jedynka, zamieniamy ją na zero i wpisujemy jedynkę w miejsce następnej cyfry od prawej. By nauczyć się łatwo zmieniać liczby z systemu dziesiętnego na system binarny trzeba abstrakcyjnego, binarnego myślenia.

Konwersja z systemu binarnego na dziesiątkowy

Przenoszenie w drugą stronę wydaje się być o wiele prostszym, dlatego że operujemy na naszych, dziesiątkowych potęgach. Szczególnie może pomóc ciąg przygotowany powyżej.

Dla przykładu, chcemy liczbę 1011 zapisać w systemie dziesiętnym. Rozpisujemy sobie potęgi liczby 2, zaczynając od prawej i od 20 (1). Gdy w zapisie liczby jest jedynka, uwzględniamy daną potęge przy dodawaniu. Jeśli natomiast stoi zero pomijamy ją. Liczba 1011 w systemie binarnym jest liczbą 8 + 2 + 1 = 11 w systemie dziesiątkowym. Dane działanie można łatwo wytłumaczyć obserwując ciąg zapisany wyżej. Co jeśli jednak mamy ogromną liczbę, którą musimy zapisać dziesiątkowo?

Niech za przykład posłuży nam tasiemiec - 1001010111. Jest to ogromna liczba składająca się z 10 cyfr. Podobnie jak wyżej, rozpisujemy potęgi dwójki i dodajemy jeśli znajdziemy jedynkę.

10010101112 = 29 + 28 + 27 + 26 + 25 + 24 + 23 + 22 + 21 + 20 = 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 59910

Z początku może się to wydawać skomplikowane, jednak jak z czasem nabierzesz wprawy będziesz mógł wpółautomatycznie przeliczać liczby z systemu dwójkowego na dziesiątkowy i odwrotnie ;)

Zastosowania systemu binarnego

  • Obecnie system dwójkowy jest używany w wielu środowiskach informatycznych ze względu na to, że każda cyfra może posiadać dwa stany: włączony (1) i wyłączony (0), co ułatwia odszyfrowywanie danych.
  • System dwójkowy jest również używany w programowaniu, dlatego jego znajomość oraz zamiana liczb między systemami binarnym a dziesiętnym jest w dziedzinie informatyki konieczna.
  • System dwójkowy jest alternatywnym do systemu dziesiątkowego sposobem liczenia na palcach w Sky'owie, dlatego że smoki posiadają jedynie cztery palce u każdej z łap co pozwala na liczenie do 15 na jednej łapie, bądź do 255 na obu łapach.
  • System dwójkowy jest jednym z najpopularniejszych systemów liczbowych, zaraz obok systemu dziesiątkowego, szesnastkowego i dwunastkowego.

Zobacz też