Binarny/dwójkowy system liczenia

Leon Orlikowski

        Binarny/dwójkowy system liczenia

Podstawą, na której opiera się technika informatyczna jest binarny system liczenia. W binarnym systemie liczenia wszystkie liczby  tworzone są z  dwóch cyfr:  0  oraz 1, a kolejne miejsca usytuowania owych 1 w liczbie binarnej w kierunku od jej końca (od strony prawej) do początku (w kierunku do strony lewej) określają coraz większe jej wartości. Największą wartość w liczbie systemu binarnego L2 ma cyfra 1, od której rozpoczyna się zapis  liczby według następującej funkcji  w dziesiętnym systemie liczenia:

                                               L10  =  C(0,1) . 2i-1

Wartości kolejnych cyfr 1 są określone ich usytuowaniem w liczbie binarnej, czyli według wskaźnika wykładniczego i. Natomiast cyfry 0 są zerowe, nie mają  przyporządkowanej wartości, podobnie jak w dziesiętnym systemie liczenia. Współczynnik C w kolejnych etapach transformacji liczby dziesiętnej L10 w liczbę binarną L2 przybiera wartość  C = 1, gdy transformowana wartość binarna mieści się w reszcie liczby dziesiętnej: np. dla etapu drugiego w poniższym  algorytmie transformacji liczby systemu dziesiętnego L10 w system binarny L2 owa reszta wynosi 41 a transformowana wartość liczby binarnej wynosi: Cx25 = 1×25 = 1×32, czyli cyfra binarna C = 1. Natomiast dla etapu trzeciego nie ma wartości dla liczby binarnej, bo reszta liczby dziesiętnej wynosi 9 a nie 16 = 24 lub więcej. Dlatego dla etapu trzeciego  wyliczenie cyfry binarnej wynosi:  Cx24 = 0x24 = 0x16 , czyli C =  0.

Wartości najniższych liczb dziesiętnych w systemie liczb binarnych:

010 = 0x20 = 02;                                                                                                                                                                                                                                                                            110 = 1×20 = 12;                                                                                                                                                                                                                                                                     210 = 1×21 + 0x20 = 102 + 02 = 102;   lub też jako suma jedynek (12):       210 = 1×20 + 1×20 = 12 + 12 = 102                                                                                                                                 310 = 1×21 +1×20 =102 + 12 = 112;     lub też jako suma jedynek (12):                                                               310 = 1×20 + 1×20 + 1×20 = (12 + 12)  + 12 = (102) + 12 = 112;                                                                        410 = 1×22 + 0x21 + 0x20 = 1002 + 02 + 02 = 1002;                                                                                                                                                                                                                                         510 = 1×22 + 0x2+ 1×20 = 1002 + 02 + 12 = 101

Algorytm transformacji liczby systemu binarnego L2 w dziesiętny L10

1101001  =  1×26 + 1×25 + 0x24 + 1×23 + 0x22 + 0x21 + 1×20

                 = 1×64 + 1×32 + 0x16 + 1×8 +0x4 + 0x2 + 1×1 = 10510

Algorytm transformacji liczby systemu dziesiętnego L10 w binarny L2

Liczba w L10 ! Transformacja w L2  ! Reszta (1 – 2) ! Lokata cyfry binarnej w L2

1           !                 2                   !             3       !                  4

105   !        64 = 1×26        !            41     !                  17

41   !        32 = 1×25        !              9     !                  16

9   !            0 = 0x24       !              9     !                  05

9   !            8 = 1×23       !              1     !                  14

1    !           0 = 0x22       !              1     !                  03

1    !           0 = 0x21          !                    1     !                  02

1  !            1 = 1×20       !               0    !                  11

X    ! L10 = 105 (suma)               !            X       ! L2 = 1101001

 

L10  = 1×26 + 1×25 + 0x24 + 1×23 + 0x22 + 0x21 + 1×20  =  64+32+0+8+0+0+1 = 105

 

                            Dodawanie liczb binarnych

0 + 0 = 0;         0 + 1 = 1;          1 + 1 = 10;        10 + 10 = 100;     10 + 11 = 101;

11 + 11 = 110;     101 + 11 = 100;   101 + 101 = 1010;             110 + 110 = 1100;

110 + 101 = 1011;                  110 + 111 = 1101;                           101+ 111 = 1100;

111 + 111 = 1110;                  1111 + 1111 =  11110, a w transformacji na L10 jest:

1111 =  1×23 + 1×22 + 1×21 + 1×20  =  8 + 4 + 2 + 1  =  15

+    1111  =  1×23 + 1×22 + 1×21 + 1×20  =  8 + 4 + 2 + 1  =  15

=  2×23 + 2×22 + 2×21 + 2×20 +  =  2×8 + 2×4 + 2×2 + 2×1 = 30

11110 =    1×24 + 1×23 + 1×22 + 1×21 + 0x20 =  16    +   8     +    4    +  2  +  0     =    30

 __________________________________________________________________________________________________________________________________________________________

1101001     1×26+1×25+0x24+1×23+0x22+0x21+1×20            64 + 32 + 8 + 1             105

+   1001                         +  1×23+0x22+0x21+1×20                        +   8 + 1               +  9

_______              ___________________________                  ____________                 ____

1110010     1×26+1×25+1×24+0x23+0x22+1×21+0x20            64 + 32 + 16 + 2           + 0 114

 

Odejmowanie liczb binarnych

1101001     1×26+1×25+0x24+1×23+0x22+0x21+1×20    64 + 32 +  8 + 1          105

–     1001                       –    1×23-0x22-0x21 -1×20                              –   8  – 1                – 9

________                  _______________________                       ____________        ________

1100000     1×26+1×25+0x24+0x23+0x22+0x21+0x20  64 + 32 + 0  + 0              96

 

Odejmowanie z pożyczaniem cyfry

   0101      

 1101001    1×26+1×25+0x24+1×23+0x22+0x21+1×20      64 + 32 + 8 + 1                  105

      1010                         1×23-0x221×21-0x20                           8 2                  10

__________      ________________________________          ___________           ___________

1011111    1×26+0x25+1×24+1×23+1×22+1×21+1×20           64+16+8+4+2+1             95

 

Mnożenie w systemie binarnym jest wykonywane na zasadzie wielokrotnego równego wartości mnożnika dodawania  wartości  liczby mnożnej.

Dzielenie zaś jest realizowane poprzez wielokrotne odejmowanie od liczby dzielonej wartości liczby dzielnika dopóty, dopóki z liczby dzielonej pozostanie reszta mniejsza od wartości dzielnika względnie liczba dzielona wydzieli się bez reszty. Wielokrotność odejmowania dzielnika od dzielnej plus jeden jest równa ilorazowi.

Poprzedni wpis Następny wpis

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

0 udostępnień