Dwójkowy system liczbowy

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

Dwójkowy system liczbowy, system binarny, bin – pozycyjny system liczbowy, w którym podstawą jest liczba 2. Do zapisu liczb potrzebne są tylko dwie cyfry: 0 i 1.

Historia[edytuj | edytuj kod]

Używał go już John Napier w XVI wieku, przy czym 0 i 1 zapisywał jako a i b[1].

Wykorzystanie[edytuj | edytuj kod]

Powszechnie używany w 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. Co za tym idzie, przyjął się też w informatyce.

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\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}\;

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\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}\;
0,28_{10} = 0,(01000111101011100001)_{2}\;

ułamek zwykły:

\ \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:

\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

Zmiany systemu[edytuj | 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\cdot 2^4 + 1\cdot 2^3 + 1\cdot 2^2 + 1\cdot 2^1 + 0\cdot 2^0 =
=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\cdot 2^n=0\; oraz 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

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

 30_{10} = (16 + 8 + 4 + 2)_{10} = (10000+ 1000 + 100 + 10)_2 = 11110_2\,

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

30 ÷ 2 = 15 reszty 0 - 0 to cyfra jedności,

15 ÷ 2 = 7 reszty 1 - 1 to cyfra drugiego rzędu,

7 ÷ 2 = 3 reszty 1

3 ÷ 2 = 1 reszty 1

1 ÷ 2 = 0 reszty 1

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

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

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
  • 1 + 1 = 10
  • 1* 0 = 0
  • 1 * 1 = 1
  • 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 | edytuj kod]

Pochodne kodowania liczb całkowitych:

Przypisy

  1. Human choice and computers; ISBN 1-4020-7185-X, 2002 r.