System dwójkowy: Różnice pomiędzy wersjami

m
Wycofano edycje użytkownika TheKusy (dyskusja). Autor przywróconej wersji to Sky.
(UWAGA! Usunięcie treści (strona pozostała pusta)!)
m (Wycofano edycje użytkownika TheKusy (dyskusja). Autor przywróconej wersji to Sky.)
 
Linia 1: Linia 1:
'''System dwójkowy (binarny)''' - pozycyjny system liczbowy, w którym liczby przedstawia się za pomocą dwóch cyfr - 0 oraz 1.[[Plik:Binary.png|270px|thumb|right|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:
27<sub>10</sub> = 2 * 10<sup>1</sup> + 7 * 10<sup>0</sup> = 1 * 2<sup>4</sup> + 1 * 2<sup>3</sup> + 0 * 2<sup>2</sup> + 1 * 2<sup>1</sup> + 1 * 2<sup>0</sup> = 11011<sub>2</sub>
== 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:
2<sub>10</sub> = 1<sub>2</sub>
2<sub>10</sub> = 10<sub>2</sub>
4<sub>10</sub> = 100<sub>2</sub>
8<sub>10</sub> = 100<sub>2</sub>
16<sub>10</sub> = 1000<sub>2</sub>
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.
1<sub>10</sub> = <s>16 + 8 + 4 + 2 +</s> <font color="red">1</font> = 1<sub>2</sub>
2<sub>10</sub> = <s>16 + 8 + 4 +</s> <font color="red">2</font> <s>+ 1</s> = 10<sub>2</sub>
3<sub>10</sub> = <s>16 + 8 + 4 +</s> <font color="red">2 + 1</font> = 11<sub>2</sub>
4<sub>10</sub> = <s>16 + 8 +</s> <font color="red">4</font> <s>+ 2 + 1</s> = 100<sub>2</sub>
5<sub>10</sub> = <s>16 + 8 +</s> <font color="red">4</font> <s>+ 2 +</s> <font color="red">1</font> = 101<sub>2</sub>
6<sub>10</sub> = <s>16 + 8 +</s> <font color="red">4 + 2</font> <s>+ 1</s> = 110<sub>2</sub>
7<sub>10</sub> = <s>16 + 8 +</s> <font color="red">4 + 2 + 1</font> = 111<sub>2</sub>
8<sub>10</sub> = <s>16 +</s> <font color="red">8</font> <s>+ 4 + 2 + 1</s> = 1000<sub>2</sub>
9<sub>10</sub> = <s>16 +</s> <font color="red">8</font> <s>+ 4 + 2 +</s> <font color="red">1</font> = 1001<sub>2</sub>
10<sub>10</sub> = <s>16 +</s> <font color="red">8</font> <s>+ 4 +</s> <font color="red">2</font> <s>+ 1</s> = 1010<sub>2</sub>
11<sub>10</sub> = <s>16 +</s> <font color="red">8</font> <s>+ 4 +</s> <font color="red">2 + 1</font> = 1011<sub>2</sub>
12<sub>10</sub> = <s>16 +</s> <font color="red">8 + 4</font> <s>+ 2 + 1</s> = 1100<sub>2</sub>
13<sub>10</sub> = <s>16 +</s> <font color="red">8 + 4</font> <s>+ 2 +</s> <font color="red">1</font> = 1101<sub>2</sub>
14<sub>10</sub> = <s>16 +</s> <font color="red">8 + 4 + 2</font> <s>+ 1</s> = 1110<sub>2</sub>
15<sub>10</sub> = <s>16 +</s> <font color="red">8 + 4 + 2 + 1</font> = 1111<sub>2</sub>
16<sub>10</sub> = <font color="red">16</font> <s>+ 8 + 4 + 2 + 1</s> = 10000<sub>2</sub>
...
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 2<sup>0</sup> (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ę.
1001010111<sub>2</sub> = <font color="red">2<sup>9</sup></font> <s>+ 2<sup>8</sup> + 2<sup>7</sup> +</s> <font color="red">2<sup>6</sup></font> <s>+ 2<sup>5</sup> +</s> <font color="red">2<sup>4</sup></font> <s>+ 2<sup>3</sup> +</s> <font color="red">2<sup>2</sup> + 2<sup>1</sup> + 2<sup>0</sup></font> = <font color="red">512</font> <s>+ 256 + 128 +</s> <font color="red">64</font> <s>+ 32 +</s> <font color="red">16</font> <s>+ 8 +</s> <font color="red">4 + 2 + 1</font> = 599<sub>10</sub>
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ż ==
* [[System dziesiątkowy]]
[[Kategoria:Nauka]]