F1-85A Nadmiar przy dodawaniu liczb ze znakiem.pdf

(88 KB) Pobierz
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
829469389.003.png 829469389.004.png 829469389.005.png 829469389.006.png 829469389.001.png 829469389.002.png
Zgłoś jeśli naruszono regulamin