Dwójkowy system liczbowy


Dwójkowy system liczbowy w encyklopedii

Z Wikipedii, wolnej encyklopedii Przejdź do nawigacji Przejdź do wyszukiwania Dwójkowy zegarek pokazujący godzinę 3:25

Dwójkowy system liczbowy lub też system binarny (NKB – naturalny kod binarny) – pozycyjny system liczbowy, w którym podstawą jest liczba 2, a do zapisu liczb potrzebne są tylko dwie cyfry: 0 i 1.

Spis treści

Historia | edytuj kod

Używał go już John Napier w XVI wieku, przy czym 0 i 1 zapisywał jako a i b[1]. Ojcem nowoczesnego systemu binarnego nazywany jest Gottfried Wilhelm Leibniz[2], autor opublikowanego w 1703 roku artykułu Explication de l’Arithmétique Binaire.

Zastosowanie | edytuj kod

Jest używany w matematyce, informatyce i elektronice cyfrowej, gdzie minimalizacja liczby stanów (do dwóch) pozwala na prostą implementację sprzętową odpowiadającą zazwyczaj stanom wyłączony i włączony oraz zminimalizowanie przekłamań danych[2].

Jak w każdym pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciągi cyfr, z których każda jest mnożną kolejnej potęgi podstawy systemu.

Np. liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie dwójkowym przybiera postać 1010, gdyż:

1 2 3 + 0 2 2 + 1 2 1 + 0 2 0 = 8 + 2 = 10. {\displaystyle 1\cdot 2^{3}+0\cdot 2^{2}+1\cdot 2^{1}+0\cdot 2^{0}=8+2=10.}

Liczby w systemach niedziesiętnych oznacza się czasami indeksem dolnym zapisanym w systemie dziesiętnym, a oznaczającym podstawę danego systemu. W celu podkreślenia, że liczba jest dziesiętna można również napisać obok niej indeks, np.

10101 2 = 21 10 {\displaystyle 10101_{2}=21_{10}}

W systemie dwójkowym można przedstawiać również liczby rzeczywiste. Na przykład liczby dziesiętne o podstawie 2 można zapisać jako:

0,101 2 = 0 2 0 + 1 2 1 + 0 2 2 + 1 2 3 = 0,625 10 {\displaystyle 0{,}101_{2}=0\cdot 2^{0}+1\cdot 2^{-1}+0\cdot 2^{-2}+1\cdot 2^{-3}=0{,}625_{10}} 0 , 00 ( 1001 ) 2 = 0 , 15 10 {\displaystyle 0{,}00(1001)_{2}=0{,}15_{10}} 0 , 28 10 = 0 , ( 01000111101011100001 ) 2 {\displaystyle 0{,}28_{10}=0{,}(01000111101011100001)_{2}}

ułamek zwykły:

101 2 111 2 = 5 10 7 10 = 0 , ( 101 ) 2 = 0 , ( 714285 ) 10 {\displaystyle {\frac {101_{2}}{111_{2}}}={\frac {5_{10}}{7_{10}}}=0{,}(101)_{2}=0{,}(714285)_{10}}

(nawiasem oznaczono okres ułamka).

Liczby niewymierne mają rozwinięcie nieokresowe w każdym systemie pozycyjnym:

2 10 = 10 2 = 1,011 0101000001001111001100110011111110 2 {\displaystyle {\sqrt {2_{10}}}={\sqrt {10_{2}}}=1{,}0110101000001001111001100110011111110\dots _{2}}

Zmiany systemu | edytuj kod

Zamianę z systemu dwójkowego na inny można wykonać poprzez zapisanie liczby jako sumy potęg liczby 2 pomnożonych przez wartość cyfry w systemie, na który przekształcamy. Przykładowo przy zamianie liczby na system dziesiętny:

11110 2 = 1 2 4 + 1 2 3 + 1 2 2 + 1 2 1 + 0 2 0 = {\displaystyle 11110_{2}=1\cdot 2^{4}+1\cdot 2^{3}+1\cdot 2^{2}+1\cdot 2^{1}+0\cdot 2^{0}=}
= 1 16 + 1 8 + 1 4 + 1 2 + 0 1 = 16 + 8 + 4 + 2 = 30 {\displaystyle =1\cdot 16+1\cdot 8+1\cdot 4+1\cdot 2+0\cdot 1=16+8+4+2=30}

Cyfra 1 podobnie jak w systemie dziesiętnym ma wartość zależną od swojej pozycji – na końcu oznacza 1, na drugiej pozycji od końca 2, na trzeciej 4, na czwartej 8 itd.

Ponieważ 0 2 n = 0 {\displaystyle 0\cdot 2^{n}=0} oraz 1 2 n = 2 n , {\displaystyle 1\cdot 2^{n}=2^{n},} aby obliczyć wartość liczby zapisanej dwójkowo, wystarczy zsumować potęgi dwójki odpowiadające cyfrom 1 w zapisie.

Zamiana liczby w systemie dziesiętnym na liczbę w systemie dwójkowym może przebiegać według wyżej opisanej zasady, czyli:

30 10 = ( 3 10 + 0 1 ) 10 = ( 11 1010 + 0 1 ) 2 = 11110 2 {\displaystyle 30_{10}=(3\cdot 10+0\cdot 1)_{10}=(11\cdot 1010+0\cdot 1)_{2}=11110_{2}}

Rozbicie na sumę potęg liczby 2 na przykład

30 10 = ( 16 + 8 + 4 + 2 + 0 ) 10 = ( 2 4 + 2 3 + 2 2 + 2 1 + 2 0 ) 10 = ( 10000 + 1000 + 100 + 10 + 0 ) 2 = 11110 2 {\displaystyle 30_{10}=(16+8+4+2+0)_{10}=(2^{4}+2^{3}+2^{2}+2^{1}+2^{0})_{10}=(10000+1000+100+10+0)_{2}=11110_{2}}

Bądź też przez wyznaczanie reszt w wyniku kolejnych dzieleń liczby przez 2:

30 2 = 15 {\displaystyle {\tfrac {30}{2}}=15} reszty 0 – 0 to cyfra jedności, 15 2 = 7 {\displaystyle {\tfrac {15}{2}}=7} reszty 1 – 1 to cyfra drugiego rzędu, 7 2 = 3 {\displaystyle {\tfrac {7}{2}}=3} reszty 1, 3 2 = 1 {\displaystyle {\tfrac {3}{2}}=1} reszty 1, 1 2 = 0 {\displaystyle {\tfrac {1}{2}}=0} reszty 1.

Aby obliczyć wartość dwójkową liczby przepisujemy od końca cyfry reszt. Tak więc 30 10 = 11110 2 . {\displaystyle 30_{10}=11110_{2}.}

Działania na liczbach w systemie dwójkowym | edytuj kod

 Zobacz też: arytmetyka modularna.

Działania na liczbach w systemie dwójkowym są odpowiednikiem działań w systemie dziesiętnym i opierają się na elementarnych działaniach:

  • 1 + 0 = 1 {\displaystyle 1+0=1}
  • 1 + 1 = 10 {\displaystyle 1+1=10}
  • 1 0 = 0 {\displaystyle 1\cdot 0=0}
  • 1 1 = 1 {\displaystyle 1\cdot 1=1}
  • 10 1 = 1 {\displaystyle 10-1=1}

Przykład dodawania w systemie dwójkowym.

 111111 1111111 + 10011 10010010 

Przykład odejmowania w systemie dwójkowym:

 1111111 - 10011 1101100 

A w takiej sytuacji pożyczamy jedynkę:

 11101 - 10110 00111 

(zera z lewej strony można wykreślić).

Mnożenie i dzielenie wykonuje się w systemie dwójkowym także podobnie jak w systemie dziesiętnym.

Zobacz też | edytuj kod

Pochodne kodowania liczb całkowitych:

Przypisy | edytuj kod

  1. Human choice and computers, 2002, ISBN 1-4020-7185-X .
  2. a b EdwardE. Kofler EdwardE., Z dziejów matematyki, Warszawa: Wiedza Powszechna, 1956, s. 27 .
Kontrola autorytatywna (system pozycyjny):
Na podstawie artykułu: "Dwójkowy system liczbowy" pochodzącego z Wikipedii
OryginałEdytujHistoria i autorzy