background image

WYKŁAD   4

Temat: Arytmetyka binarna

1. Arytmetyka binarna
     1.1.  Nadmiar
     1.2.  Arytmetyka w systemie uzupełnień do dwóch
     1.3. Mnożenie i dzielenie przez dwa
     1.4. Binarne mnożenie i dzielenie
2. Liczby zmiennopozycyjne
     2.1. Zapis zmiennopozycyjny
     2.2. Standardy zapisu

 

Literatura:

1. A. Skorupski; Podstawy techniki cyfrowej, WKiŁ 

Warszawa 2001.

2. W. Sikorski; Wykłady z podstaw informatyki, Mikom 

Warszawa 2002.

background image

1. Arytmetyka binarna

Reguły dodawania

Np. dodajmy liczby binarne

1 0 1 0
      +     0 0 1 1
1 1 0 1
1  przeniesienia

Dodawane bity

przeniesienie

0 + 0

0

0

0 + 1

1

0

1 + 0

1

0

1 + 1

0

1

background image

1.1. Nadmiar (overflow)

Projektując układy realizujące operacje arytmetyczne 

należy uwzględniać zakres argumentów tych operacji 

oraz zakres wyniku.

Np. 

1 1 0 0                     12

    

      +     0 1 1 0                 +    6

                          0 0 1 0

        2                  

błąd !

                    1             

ZM                      8 bitów                                  9 bitów
       89          0   1 0 1 1 0 0 1                        0  0 1 0 1 1 0 0 1
    + 45          0   0 1 0 1 1 0 1                        0  0 0 1 0 1 1 0 1 

    

     134          1   0 0 0 0 1 1 0                        0  1 0 0 0 0 1 1 0 

          

                                 
                         

wyszło – 6 !

background image

1.2. Arytmetyka w systemie uzupełnień do 

dwóch

Liczby w systemie uzupełnień do dwóch dodaje się w taki 

sposób jak liczby binarne bez znaku, np.

12 + 20 = 32                          0 0 0 0 1 1 0 0                12

10

          +        0 0 0 1 0 1 0 0                20

10

             

       0 0 1 0 0 0 0 0                32

10

Liczby ujemne

-1 + (- 2) = - 3                        1 1 1 1 1 1 1 1               - 1

10

          +        1 1 1 1 1 1 1 0               - 2

10

       

                                              1 1 1 1 1 1 0 1                - 3

10

                                                                                                        

                    

                                          1
                                                    pomijamy przeniesienie

 Mnożenie robi się przez wielokrotne dodawanie

background image

1.3. Mnożenie i dzielenie przez dwa

Wykonuje się przez przesuwanie liczb
                                       
                                           0 0 1 0    
      2

10

     

                                

                                           0 1 0 0          4

10

                                           1 0 0 0          8

10

                                           0 0 0 1          1

10

na tzw. rejestrach

background image

1.4. Binarne mnożenie i dzielenie

Ponieważ w urządzeniach cyfrowych stosuje się 

sumatory dwuargumentowe, to algorytm mnożenia i 

dzielenia musi być do tego przystosowany.

Nie może być sumowania wielu składników jak to ma 

miejsce w klasycznym sposobie postępowania.

Dlatego też np. w każdym kroku algorytmu mnożenia 

liczb dwójkowych wykonywane są dwie operacje:

 dodawania i przesunięcia iloczynu cząstkowego o 

jedną pozycje w prawo.

Jednym ze składników dodawania jest zawsze iloczyn 

cząstkowy, a drugi zależy od aktualnej wartości 

najmniej znaczącego bitu (LSB) mnożnika.

background image

2. Liczby zmiennopozycyjne

W dziesiętnym systemie liczbowym do oznaczania 

bardzo dużych i bardzo małych liczb stosuje się 
często notację wykładniczą np.:

            294800000         2,948*10

+8

            0,000001704      1,704*10

-6

                                  

wykładnik potęgi lub

                               1,602*10

-6

   

pozycja przecinka 

dziesiętnego

mantysa

background image

2.1. Zapis zmiennopozycyjny

Zapis formalny

                                  L = M x N 

E

• M - mantysa, liczba mniejsza od jedności; mantysa 

znormalizowana należy do przedziału < 0.1; 1),


pierwszy znak po przecinku musi być różny od zera;

• N - podstawa systemu zgodnie z zapisem pozycyjnym 

wagowym;

• E - cecha, czyli wykładnik potęgi, dzięki któremu 

przecinek w liczbie zostaje przesunięty tak, aby 

utworzyć mantysę w zgodzie z powyższą definicją.

background image

Zastępując podstawę potęgi 10 podstawą 2, 

możemy użyć podobnej adnotacji do 

zapisywania liczb rzeczywistych w komputerze 

np.

5,625

10

    może być zapisana jako        1,01101*2

2

                                                  lub          

1011,01*2

-1

Położenie przecinka może być dynamicznie 

składane poprzez zmianę wartości wykładnika 

 zmiennopozycyjna forma zapisu

background image

Aby zapisać liczbę zmiennopozycyjną musimy zapisać 

informację o:

 znaku
 mantysie
 wykładniku

Liczba słów, których do tego celu użyjemy, wraz z 

metodą kodowania tej informacji nosi nazwę formatu 

zmiennopozycyjnego np.:

 +0,101101*2

3

Liczba binarna zapisana w postaci cecha-mantysa na 

dwóch bajtach.

  znak                   cecha                                       mantysa

0

0

0 0

0

0

1

1

0

0

1

0

1

1 0

1

background image

W praktyce zwykle na cechę przeznaczamy jeden bajt, na 

mantysę minimum trzy bajty.

 ilość bajtów przeznaczonych na cechę decyduje o zakresie
 ilość bajtów przeznaczonych na mantysę decyduje o 

błędzie


Gdy chcemy poprawić dokładność, musimy dodać bajt do 

mantysy.

Gdy chcemy powiększyć zakres reprezentowanych liczb, 

dodajemy bajt do cechy.

Przy jednym bajcie przeznaczonym na mantysę błąd 

względny nie przekracza 0.8%

błąd bezwzględny      * 100%
  wartość liczby

Arytmetyka zmiennoprzecinkowa jest bardziej złożona niż 

arytmetyka liczb całkowitych. Operacje mogą być 

wykonywane programowo lub sprzętowo przez tzw. 

koprocesor zmiennopozycyjny (numeryczny).

background image

Zakres liczb, który można zapisać używając 8 bitowego 

wykładnika to w przybliżeniu

                                
                           od   10

-39

       do     10

+39

a precyzja osiągana przy 7 bitowej mantysie to w 

przybliżeniu od 1 do 10

3

.

Dokładność można zwiększyć, używając większej liczby 

bitów do zapisu mantysy. 

Stąd ustalono w postaci standardu  2 tryby precyzji:  
 
a/ pojedyncza (3 bajty)
b/ podwójna (8 bajtów)

background image

2.2. Standardy zapisu

Standard IEEE  754 dla liczby rzeczywistej: (3 bajty)

Standard IEEE dla liczby podwójnej precyzji: (8 bajtów)

Kolejne bity (od lewej)

Znaczenie

1 (jeden)

znak mantysy

2-9 (osiem)

cecha

10-23 (trzynaście)

mantysa

Kolejne bity (od lewej)

Znaczenie

1 (jeden)

Znak mantysy

2-12 (jedenaście) 

cecha

13-64 (pięćdziesiąt dwa) 

mantysa


Document Outline