Dwójkowy system liczbowy

Systemy liczbowe
Kultura

Cyfry indyjsko-arabskie

  • Arabski (zachód)
  • Arabski (wschód)
  • Cyfry hinduskie
  • Khmerski
  • Tajski

Systemy wschodnioazjatyckie


Systemy alfabetyczne

  • Abdżad
  • Ormiański
  • Głagolica
  • Cyrylica
  • Gyyz
  • Grecki
  • Aryabhata
  • Hebrajski

Inne

Dziesiętny (10)

więcej...


  • pokaż
  • dyskusja
  • edytuj
Dwójkowy zegarek pokazujący godzinę 3:25

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

Historia

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

Zastosowanie

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[3].

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}}
Pierwsze dziesięć liczb w systemie dwójkowym
w systemie
dziesiętnym
w systemie
dwójkowym
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010

Zamiany systemu

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 + 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}+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

 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ż

Pochodne kodowania liczb całkowitych:

Przypisy

  1. dwójkowy system liczbowy, [w:] Encyklopedia PWN [dostęp 2021-09-30] .
  2. Human choice and computers, 2002, ISBN 1-4020-7185-X .
  3. a b EdwardE. Kofler EdwardE., Z dziejów matematyki, Warszawa: Wiedza Powszechna, 1956, s. 27 .
Kontrola autorytatywna (system pozycyjny):
  • GND: 4150805-1
  • NDL: 00568548
Encyklopedia internetowa:
  • Britannica: topic/binary-number-system
  • SNL: to-tallsystemet
  • DSDE: binært_talsystem