background image

 Nadmiar przy dodawaniu liczb ze znakiem 

 

Np.    −4 + (−15) = −19 
 

NB(4) = 100,     NB(15) = 1111 

 
► wyrównujemy formaty: 

NB(4) = 0100 

► obliczamy uzupełnienia:  U2(4) = 1100,      U2(15) = 0001 
 
Spróbujmy dodać −4 + (−15) w kodzie ZU2 
 

 

 

     1.1100 
 

 

 

 

 

1.0001  

 

 

 

 

       10.1101  →  +13??? 

 
Przeniesienie z pozycji znaku c

z

 = 1 i z pozycji MSB modułu c

m

 = 0 

 

Test nadmiaru:

  c

z

 

⊕ c

m

 = 1 → 

ERROR!!!

 

 

Aby uniknąć błędu: 

 
► po wyrównaniu formatów argumentów, zwiększamy formaty o 1 bit 
 
     NB(4) 

0

0100,    

NB(15) = 

0

1111 

 
► obliczamy uzupełnienia   U2(4) = 11100,   

U2(15) = 10001 

 
► dodajemy argumenty w kodzie ZU2 
 
     1.11100 
 

 

 

 

 

1.10001 

 

 

 

 

       11.01101   

 
► aby otrzymać wynik w kodzie ZM,  

obliczamy U2(01101) = 10011 = 19

10

  OK.! 

 

WNIOSKI 

 

1. JEŚLI TRZEBA DODAWAĆ LICZBY W KODZIE ZU2 
KTÓRE MOGĄ BYĆ 

OBYDWIE DODATNIE

 LUB 

OBYDWIE UJEMNE

 

TO NALEŻY 

ZWIĘKSZYĆ DŁUGOŚĆ SŁOWA MODUŁU O 1 BIT 

 

2. DŁUGOŚĆ SŁOWA ARGUMENTÓW PRZY STOSOWANIU KODU 

ZU2

 JEST WIĘKSZA O 

DWA BITY

 (1 BIT ZNAKOWY + 1 BIT 

DODATKOWY) W PORÓWNANIU ZE STOSOWANIEM KODU 

U2

  

(bez uwzględnienia bitu przeniesienia)

 

©J. Kalisz, WAT, 2008