You are on page 1of 12

Za jakość odpowiada Klub Leniuszka

Organizacja systemów komputerowych


Lista 3

Zadanie 1.
X10 = 32,4510 = 0011 0010, 0100 0101BCD
Y10 = 67,8110 = 0110 0111, 1000 0001BCD

Suma:
0’ 0 0 1 1’ 0 0 1 0, 0 1 0 0’ 0 1 0 1
0’ 0 1 1 0’ 0 1 1 1, 1 0 0 0’ 0 0 0 1
0’ 1 0 0 1’ 1 0 0 1, 1 1 0 0’ 0 1 1 0 KOREKTA
0 1 1 0
0’ 1 0 0
1’ 1 0 1 0, 0 0 1 0 KOREKTA
0 1 1 0
0’ 1 0 1 0 0 0 0 0
0 1 1 0 KOREKTA
1’ 0 0 0 0
1’ 0 0 0 0’ 0 0 0 0, 0 0 1 0’ 0 1 1 0
Korekty można było od razu dodać, jeśli się widzi, że występują ofc.
XBCD = 1 0000 0000, 0010 0110
X10 = 100,26

Zadanie 2.
X10 = 32,4510 = 0110 0101, 0111 1000Excess-3
Y10 = 67,8110 = 1001 1010, 1011 0100Excess-3

Suma:
Należy pamiętać, że jeśli z TetradyA przenosimy 1 do TetradyB, to w TetradzieB dodajemy 0011. Jeśli
natomiast taka sytuacja nie zachodzi to dodajemy 1011. Przy korekcie nie przenosi się jedynek dalej
jeśli wyjdą podczas dodawania!
0 0 0 0’ 0 1 1 0’ 0 1 0 1, 0 1 1 1’ 1 0 0 0
0 0 0 0’ 1 0 0 1’ 1 0 1 0, 1 0 1 1’ 0 1 0 0
0 0 0 1’ 0 0 0 0’ 0 0 0 0, 0 0 1 0’ 1 1 0 0
0 0 1 1’ 0 0 1 1’ 0 0 1 1, 0 0 1 1’ 1 1 0 1
0 1 0 0’ 0 0 1 1’ 0 0 1 1, 0 1 0 1’ 1 0 0 1

XExcess-3 = 0100 0011 0011, 0101 1001Excess-3


X10 = 100,2610
Za jakość odpowiada Klub Leniuszka

Zadanie 3.
13 8+4+1
𝑋2 = 8 =8 = 1000,0110′12
3210 32 10
24 16 + 8
𝑌2 = 14 = 14 = 1110,1100′02
3210 32 10

Obliczyć uzupełnienia (dorzuć znak i przepisz liczbę dla dodatnich, dla ujemnych dopisz znak ‘1’, resztę
zaneguj i dodaj 1 do najmłodszego bitu, bo U2) U2:
XU2 = 0’1000,0110’1 -XU2 = 1’0111,1001’1
YU2 = 0’1110,1100’0 -YU2 = 1’0001,0100’0
a) Z1 = XU2 + YU2 = 01’0111,0010’12 = 23,15625

b) Z2 = X - Y = XU2 + (-YU2)
Najpierw dodaj XU2 + (-YU2)
= 1’1001,1010’1
Wynik ujemny, więc coś trzeba z nim zrobić. Postąpić z nim trzeba odwrotnie niż gdy się zamienia na
U2:
Najpierw zaneguj wszystkie bity (pamiętając, że wynik jest ujemny!)
= 0’0110,0101’0
Dodaj jedynkę do najmłodszego bitu:
= 0’0110,0101’1
I to jest wynik:
Z2 = 0’0110,0101’12 = -6,34375

c) Z3 = -X + Y = (-XU2) + YU2 = 0’0110,0101’1 = 6,34375

d) Z4 = - X – Y = (-XU2) + (-YU2)
Najpierw dodaj (-XU2) + (-YU2)
= 10’1000,1101’1
Widzimy 1, traktujemy jako znak. (tabelka: https://eduinf.waw.pl/inf/alg/006_bin/0016.php wyników
działań ze względu na znak)
Negujemy wszystko:
= 01’0111,0010’0
I dodajemy 1 (bo U2 i bo ujemny wynik):
= 01’0111,0010’1
Za jakość odpowiada Klub Leniuszka

Z4 = -23,1562510

Zadanie 4.
13 8+4+1
𝑋2 = 8 =8 = 1000,0110′12
3210 32 10
24 16 + 8
𝑌2 = 14 = 14 = 1110,1100′02
3210 32 10

Obliczyć uzupełnienia (dla dodatnich po prostu dorzuć znak i przepisz postać binarną, dla ujemnych
dopisz znak ‘1’, resztę zaneguj i NIE dodawaj 1 do najmłodszego bitu, bo w U1 tego nie robimy):
XU1 = 0’1000,0110’1 -XU1 = 1’0111,1001’0
YU1 = 0’1110,1100’0 -YU1 = 1’0001,0011’1
a) Z1 = XU1 + YU1
Wynik dodatni, liczby dodatnie, tak więc nic nie robimy tylko sumujemy
Z1 = 01’0111,0010’12 = 23,15625

b) Z2 = X - Y = XU1 + (-YU1)
Najpierw dodaj XU1 + (-YU1)
= 1’1001,1010’0
Wynik ujemny, więc coś trzeba z nim zrobić. Postąpić z nim trzeba odwrotnie niż gdy się zamienia na
U1:
Najpierw zaneguj wszystkie bity (pamiętając, że wynik jest ujemny!)
= 0’0110,0101’0
I tutaj ponieważ wcześniej nie dodaliśmy jedynki (bo U1, a nie U2) to teraz też nie dodajemy. Tak więc
powyżej jest już wynik (ujemny, bo moduł liczby ujemnej jest większy od dodatniej!)
Z2 = 0’0110,0101’0 = -6,34375

c) Z3 = -X + Y = (-XU1) + YU1

Wszystko powtarzamy tak jak powyżej w a). Dodać te dwie liczby:


= 1 0’0110, 0101’0
Nie wiem o co chodzi, ale w książce jest, że tym razem to jest korekta (U1: ujemna + dodatnia =
dodatnia), więc przenosimy jedynkę i dodajemy do najmłodszego bitu:
= 0’0110, 0101’1
Zatem:
Z3 = 0’0110, 0101’12 = 6,3437510
Za jakość odpowiada Klub Leniuszka

d) Z4 = - X – Y = (-XU2) + (-YU2)
Najpierw dodaj (-XU2) + (-YU2)
Trzeba poprawić rozdzielczość bo nie wyjdzie (najlepiej zawsze jest dodawać te bity żeby zawsze była
ona nadmiarowa):
-XU1 = 1111’0111,1001’0
-YU1 = 1111’0001,0011’1
Najpierw zsumować:
= 1 1110’1000,1100’1
Widzimy bit przeniesienia 1 którego nie stosuje się do liczb dodatnich. Wynik jest ujemny więc
stosujemy. Bit dodajemy do najmłodszego bita
= 1110’1000,1101’0
Negujemy wszystko (bo liczba ujemna):
= 0001’0111,0010’1
Z4 = -23,1562510

Zadanie 5.
Zamień na BCD i dopisz z przodu znak (0 - plus):
𝑋𝐵𝐶𝐷 = 04,1510 = 0000 0100, 0001 0101𝐵𝐶𝐷
𝑌𝐵𝐶𝐷 = 07,8310 = 0000 0111, 1000 0011𝐵𝐶𝐷
Obliczyć uzupełnienia dziewiątkowe (do każdej tetrady dodaj korektę 01102, a następnie zaneguj
wszystkie bity!):
XU9 = 1001 0101, 1000 0100 , 1001 – l. ujemna
YU9 = 1001 0010, 0001 0110 , 1001 – l.ujemna

a) Z1 = X + Y

Nie wiem, ktoś tak zrobił... W każdym razie sumujemy XBCD oraz YBCD:
0 0 0
0’ 0 1 0 0, 0 0 0 1’ 0 1 0 1
0 0 0
0’ 0 1 1 1, 1 0 0 0’ 0 0 1 1
0 0 0
0’ 1 0 1 1, 1 0 0 1’ 1 0 0 0
0 1 1 0 KOREKTA
0 0 0 1’ 0 0 0 1, 1 0 0 1’ 1 0 0 0
Z1 = 0001 0001, 1001 1000

Z1 = 11,9810
Za jakość odpowiada Klub Leniuszka

b) Z2 = X – Y = X + YU9

Żeby policzyć X – Y, do X dodaj YU9:


0 0 0 0’ 0 1 0 0, 0 0 0 1’ 0 1 0 1
1 0 0 1’ 0 0 1 0, 0 0 0 1’ 0 1 1 0
1 0 0 1’ 0 1 1 0, 0 0 1 0’ 1 0 1 1
0 1 1 0 KOREKTA
1 0 0 1’ 0 1 1 0, 0 0 1 1’ 0 0 0 1

Liczba 1001 z przodu oznacza, że wynik jest ujemny i że to jest uzupełnienie, trzeba zatem
rozkodować wynik. Dodajemy do każdej tetrady 0110:
1 0 0 1’ 0 1 1 0, 0 0 1 1’ 0 0 0 1
0 1 1 0’ 0 1 1 0, 0 1 1 0’ 0 1 1 0
1 1 1 1’ 1 1 0 0, 1 0 0 1’ 0 1 1 1
= 1111 1100, 1001 0111

Otrzymany wynik rozkodowujemy, negujemy bity:

= 0000 0011, 0110 1000

Wiemy że wynik jest ujemny (bo w wyniku było 1001), zatem odczytując wynik mamy:

Z2 = -3,68

c) Z3 = -X + Y

Żeby policzyć -X + Y, do XU9 dodaj Y:

Jeśli gdzieś w wyniku sumowania przenosi się bit z młodszej do starszej tetrady (patrz książka str. 61)
to w tej tetradzie również dodajemy korektę (np. dodawanie 910 + 910 = 1210 -> korekta -> 1810)

1 0 0 1’ 0 1 0 1, 1 0 0 0’ 0 1 0 0
0 0 0 0’ 0 1 1 1, 1 0 0 0’ 0 0 1 1
1 0 0 1’ 1 1 0 1, 0 0 0 0’ 0 1 1 1
0 1 1 0 0 1 1 0 KOREKTA
1 0 1 0’ 0 0 1 1, 0 1 1 0’ 0 1 1 1
0 1 1 0 KOREKTA
1 0 0 0 0’ 0 0 1 1, 0 1 1 0’ 0 1 1 1
1 Bit przeniesienia
0 0 0 0’ 0 0 1 1, 0 1 1 0’ 1 0 0 0

Liczba 0000 z przodu oznacza, że wynik jest dodatni. Oznacza to zatem że nic nie musimy dalej robić i
można wprost odczytać wynik:

Z3 = 0000 0011, 0110 1000BCD = 3,6810


Za jakość odpowiada Klub Leniuszka

d) Z4 = -X –Y = (XU9) + (YU9) (Ad. Można to zadanie uprościć do Z4 = -(X + Y))

XU9 = 1001 0101, 1000 0100 , 1001 – l. ujemna


YU9 = 1001 0010, 0001 0110 , 1001 – l.ujemna

Wykonujemy działanie Z4 = XU9 + YU9

Przypomnienie, że jeśli w wyniku sumowania przechodzi bit z młodszej tetrady do starszej to trzeba
zastosować korektę 0110.

1 0 0 1’ 0 1 0 1, 1 0 0 0’ 0 1 0 0
1 0 0 1’ 0 0 1 0, 0 0 0 1’ 0 1 1 0
1 0 0 1 0’ 0 1 1 1, 1 0 0 1’ 1 0 1 0
0 1 1 0 0 1 1 1 KOREKTA, bit przeniesienia
1 0 0 0’ 0 1 1 1, 1 0 1 0’ 0 0 0 1
0 1 1 0 KOREKTA
1 0 0 0’ 1 0 0 0, 0 0 0 0’ 0 0 0 1

Teraz mając wynik 1000 1000, 0000 0001 i wiedząc, że jest on ujemny trzeba to rozkodować.
Dodajemy do każdej tetrady 0110

=1110 1110, 0110 0111

Następnie negujemy bity:

= 0001 0001, 1001 1000

I odczytujemy wynik:

Z4 = 0001 0001, 1001 1000BCD = -11,9810

Jak trafi się jednak takie zadanie to lepiej liczyć je jako – (X + Y), prostsze działania są.

Zadanie 6.
Zamień na BCD i dopisz z przodu znak (0 - plus):
𝑋𝐵𝐶𝐷 = 04,1510 = 0000 0100, 0001 0101𝐵𝐶𝐷
𝑌𝐵𝐶𝐷 = 07,8310 = 0000 0111, 1000 0011𝐵𝐶𝐷
Obliczyć uzupełnienia dziesiątkowe (do każdej tetrady dodaj korektę 01102, a następnie zaneguj
wszystkie bity i dodaj +1 do najmłodszego bita – bo U10!):
XU10 = 1001 0101, 1000 0101 , 1001 – l. ujemna
YU10 = 1001 0010, 0001 0111 , 1001 – l.ujemna
Za jakość odpowiada Klub Leniuszka

a) Z1 = X + Y

Nie wiem, ktoś tak zrobił... W każdym razie sumujemy XBCD oraz YBCD:
0 0 0
0’ 0 1 0 0, 0 0 0 1’ 0 1 0 1
0 0 0
0’ 0 1 1 1, 1 0 0 0’ 0 0 1 1
0 0 0
0’ 1 0 1 1, 1 0 0 1’ 1 0 0 0
0 1 1 0 KOREKTA
0 0 0 1’ 0 0 0 1, 1 0 0 1’ 1 0 0 0
Z1 = 0001 0001, 1001 1000

Z1 = 11,9810

b) Z2 = X – Y = X + YU9

Żeby policzyć X – Y, do X dodaj YU10: 1001 0010, 0001 0111


0 0 0 0’ 0 1 0 0, 0 0 0 1’ 0 1 0 1
1 0 0 1’ 0 0 1 0, 0 0 0 1’ 0 1 1 1
1 0 0 1’ 0 1 1 0, 0 0 1 0’ 1 1 0 0
0 1 1 0 KOREKTA
1 0 0 1’ 0 1 1 0, 0 1 0 0’ 0 0 1 0

Liczba 1001 z przodu oznacza, że wynik jest ujemny i że to jest uzupełnienie, trzeba zatem
rozkodować wynik. Dodajemy do każdej tetrady 0110:
1 0 0 1’ 0 1 1 0, 0 1 0 0’ 0 0 1 0
0 1 1 0’ 0 1 1 0, 0 1 1 0’ 0 1 1 0
1 1 1 1’ 1 1 0 0, 1 0 1 0’ 1 0 0 0
= 1111 1100, 1010 1000

Ważna jest kolejność. Kontynuując rozkodowanie, teraz negujemy bity:

= 0000 0011, 0101 0111

I ponieważ to było uzupełnienie U10 wyniku to trzeba jeszcze dodać +1:

= 0000 0011, 0101 1000

Wiemy że wynik jest ujemny (bo w wyniku było 1001), zatem odczytując wynik mamy:

Z2 = -3,68
Za jakość odpowiada Klub Leniuszka

c) Z3 = -X + Y

Żeby policzyć -X + Y, do XU10 dodaj Y:

Jeśli gdzieś w wyniku sumowania przenosi się bit z młodszej do starszej tetrady (patrz książka str. 61)
to w tej tetradzie również dodajemy korektę (np. dodawanie 910 + 910 = 1210 -> korekta -> 1810)

1 0 0 1’ 0 1 0 1, 1 0 0 0’ 0 1 0 1
0 0 0 0’ 0 1 1 1, 1 0 0 0’ 0 0 1 1
1 0 0 1’ 1 1 0 1, 0 0 0 0’ 1 0 0 0
0 1 1 0 0 1 1 0 KOREKTA, bit przeniesienia
1 0 1 0’ 0 0 1 1, 0 1 1 0’ 1 0 0 0
0 1 1 0 KOREKTA
1 0 0 0 0’ 0 0 1 1, 0 1 1 0’ 1 0 0 0

W U10 NIE DODAJEMY TEGO BITU 1 DO NAJMŁODSZEJ TETRADY (przykład str. 67)

Zatem zauważamy, że liczba 0000 z przodu oznacza, że wynik jest dodatni. Oznacza to zatem że nic
nie musimy dalej robić i można wprost odczytać wynik:

Z3 = 0000 0011, 0110 1000BCD = 3,6810


Za jakość odpowiada Klub Leniuszka

d) Z4 = -X –Y = (XU9) + (YU9) (Ad. Można to zadanie uprościć do Z4 = -(X + Y))

XU10 = 1001 0101, 1000 0101 , 1001 – l. ujemna


YU10 = 1001 0010, 0001 0111 , 1001 – l.ujemna

Wykonujemy działanie Z4 = XU10 + YU10

Przypomnienie, że jeśli w wyniku sumowania przechodzi bit z młodszej tetrady do starszej to trzeba
zastosować korektę 0110.

1 0 0 1’ 0 1 0 1, 1 0 0 0’ 0 1 0 1
1 0 0 1’ 0 0 1 0, 0 0 0 1’ 0 1 1 1
1 0 0 1 0’ 0 1 1 1, 1 0 0 1’ 1 1 0 0
0 1 1 0 0 1 1 0 KOREKTA
1 0 0 0’ 0 1 1 1, 1 0 1 0’ 0 0 1 0
0 1 1 0 KOREKTA
1 0 0 0’ 1 0 0 0, 0 0 0 0’ 0 0 1 0

Pamiętamy, że w U10 nie przenosimy bitu z najstarszej do najmłodszej tetrady.

Teraz mając wynik 1000 1000, 0000 0010 i wiedząc, że jest on ujemny trzeba to rozkodować.
Dodajemy do każdej tetrady 0110

=1110 1110, 0110 1000

Następnie negujemy bity:

= 0001 0001, 1001 0111

I bo mamy do czynienia z U10 to jeszcze dodajemy +1 do najmłodszego bitu (str. 68)

Z4 = 0001 0001, 1001 1000BCD = -11,9810

Jak trafi się jednak takie zadanie to lepiej liczyć je jako – (X + Y), prostsze działania są.

Zadanie 7.
X = 4,75

 X(U9) = 04,75
 X(BCD) = 0 0000 0100, 0111 0101
 X(Excess) = 0 0011 0111, 1010 1000

-X = -4,75

 -X(U9) = 100 – 04,75 – 0,01= 95,24


 -X(BCD) = 1 1001 0101, 0010 0100 // Normalnie na BCD tylko z „1” jako bit znaku
 -X(Excess) = 1 1100 1000, 0101 0111

Y = 7,23

 Y(U9) = 07,23
Za jakość odpowiada Klub Leniuszka

 Y(BCD) = 0 0000 0111, 0010 0011


 Y(Excess) = 0 0011 1010, 0101 0110

-Y = -7,23

 -Y(U9) = 100 – 07,23 – 0,01= 92,76


 -Y(BCD) = 1 1001 0010, 0111 0110
 -Y(Excess) = 1 1100 0101, 1010 1001

+X 0 0011 0111, 1010 1000


+Y 0 0011 1010, 0101 0110
1110 – brak przeniesienia (korekta - 0011 do tetrady)
1111 1011 – brak przeniesienia (korekta - 0011 do tetrady)
0001, 1100 1011 – przeniesienie (korekta +0011 do tetrady)
0 0111 0100, 1100 1011 – brak przeniesienia (korekta - 0011 do tetrady)
0 0100 0100, 1100 1011

Sprawdzenie: 0 0110 0100, 1100 1011 (Excess) -> 0 0001 0001, 1001 1000 (BCD) -> 11,98 (U9)

+X 0 0011 0111, 1010 1000


-Y 1 1100 0101, 1010 1001
0001 – przeniesienie (korekta + 0011 do tetrady)
0101 0100 – przeniesienie (korekta + 0011 do tetrady)
1101, 1000 0100 – brak przeniesienia (korekta -0011 do tetrady)
0 1111 1010, 1000 0100 – brak przeniesienia (korekta - 0011 do tetrady)
1 1100 1010, 1000 0100

Sprawdzenie: 1 1100 1010, 1000 0100 (Excess) -> 1 1001 0111, 0101 0001 (BCD) -> 97,51(U9) (LICZBA
UJEMNA) -> +X – Y = 97,51 – 100 + 0,01 = -2,48

-X 1 1100 1000, 0101 0111


+Y 0 0011 1010, 0101 0110
1101 – brak przeniesienia(korekta - 0011 do tetrady)
1010 1010 – brak przeniesienia (korekta - 0011 do tetrady)
0010, 0111 1010 – przeniesienie (korekta +0011 do tetrady)
0 0000 0101, 0111 1010 – przeniesienie (korekta + 0011 do tetrady) – brakuje miejsca
1 0001 0011 0101, 0111 1010 – Dopisujemy tetradę (korekta + 0011) (Bo różne znaki!)
Wynik: 1 0100 0011 0101, 0111 1010

Sprawdzenie: 1 0100 0011 0101, 0111 1010(excess) -> 1 0001 0000 0010, 0100 0111 (BCD) ->
102,47(U9) (BIT ZNAKU = 1 ) -X + Y = 102,47 – 100 + 0,01 = 2,48

-X 1 1100 1000, 0101 0111


-Y 1 1100 0101, 1010 1001
0000 – przeniesienie(korekta + 0011 do tetrady)
0000 0011 – przeniesienie (korekta + 1101 do tetrady) (bo 0000 < 0011)
1110, 1101 0011 – brak przeniesienia (korekta -0011 do tetrady)
1 1000 1011, 1101 0011 – przeniesienie (korekta + 0011 do tetrady) – brakuje miejsca
1 1011 1011, 1101 0011 – nie dopisujemy tetrady, bo liczby ujemne!
Za jakość odpowiada Klub Leniuszka

Ponadto liczymy w U9 więc tak jak w U1 w przypadku liczb ujemnych jeśli nastąpiło
przeniesienie na najbardziej znaczącej cyfrze, wartość przeniesienia dodajemy do ostatniej
tetrady
Wynik: 1 1011 1011, 1101 0100

Sprawdzenie: 1 1011 1011, 1101 0100(excess) -> 1 1000 1000, 1010 0001 (BCD) (Jedna tetrada ma
wartość 1010, co oznacza korektę + 0110, ale bez przeniesienia) -> 1 1000 1000, 0000 0001 (BCD) ->
88,01(U9) (BIT ZNAKU = 1) -X-Y = 88,01 – 100 + 0,01 = -11,98

Zadanie 8.
X = 4,75

 X(U10) = 04,75
 X(BCD) = 0 0000 0100, 0111 0101
 X(Excess) = 0 0011 0111, 1010 1000

-X = -4,75

 -X(U10) = 100 – 04,75 = 95,25


 -X(BCD) = 1 1001 0101, 0010 0101 // Normalnie na BCD tylko z „1” jako bit znaku
 -X(Excess) = 1 1100 1000, 0101 1000

Y = 7,23

 Y(U10) = 07,23
 Y(BCD) = 0 0000 0111, 0010 0011
 Y(Excess) = 0 0011 1010, 0101 0110

-Y = -7,23

 -Y(U10) = 100 – 07,23 = 92,77


 -Y(BCD) = 1 1001 0010, 0111 0111
 -Y(Excess) = 1 1100 0101, 1010 1010

+X 0 0011 0111, 1010 1000


+Y 0 0011 1010, 0101 0110
1110 – brak przeniesienia (korekta - 0011 do tetrady)
1111 1011 – brak przeniesienia (korekta - 0011 do tetrady)
0001, 1100 1011 – przeniesienie (korekta +0011 do tetrady)
0 0111 0100, 1100 1011 – brak przeniesienia (korekta - 0011 do tetrady)
0 0100 0100, 1100 1011

Sprawdzenie: 0 0110 0100, 1100 1011 (Excess) -> 0 0001 0001, 1001 1000 (BCD) -> 11,98 (U10)

+X 0 0011 0111, 1010 1000


-Y 1 1100 0101, 1010 1010
0010 – przeniesienie (korekta + 0011 do tetrady)
0101 0101 – przeniesienie (korekta + 0011 do tetrady)
Za jakość odpowiada Klub Leniuszka

1101, 1000 0101 – brak przeniesienia (korekta -0011 do tetrady)


0 1111 1010, 1000 0101 – brak przeniesienia (korekta - 0011 do tetrady)
1 1100 1010, 1000 0101

Sprawdzenie: 1 1100 1010, 1000 0101 (Excess) -> 1 1001 0111, 0101 0010 (BCD) -> 97,52(U10)
(LICZBA UJEMNA) -> +X – Y = 97,52 – 100 = -2,48

-X 1 1100 1000, 0101 1000


+Y 0 0011 1010, 0101 0110
1110 – brak przeniesienia(korekta - 0011 do tetrady)
1010 1011 – brak przeniesienia (korekta - 0011 do tetrady)
0010, 0111 1011 – przeniesienie (korekta +0011 do tetrady)
0 0000 0101, 0111 1011 – przeniesienie (korekta + 0011 do tetrady) – brakuje miejsca
1 0001 0011 0101, 0111 1011 – Dopisujemy tetradę (korekta + 0011) (Bo różne znaki!)
Wynik: 1 0100 0011 0101, 0111 1011

Sprawdzenie: 1 0100 0011 0101, 0111 1011(excess) -> 1 0001 0000 0010, 0100 1000 (BCD) ->
102,48(U10) (BIT ZNAKU = 1 ) -X + Y = 102,48 – 100 = 2,48

-X 1 1100 1000, 0101 1000


-Y 1 1100 0101, 1010 1010
0010 – przeniesienie(korekta + 0011 do tetrady)
0000 0101 – przeniesienie (korekta + 1101 do tetrady) (bo 0000 < 0011)
1110, 1101 0101 – brak przeniesienia (korekta -0011 do tetrady)
1 1000 1011, 1101 0101 – przeniesienie (korekta + 0011 do tetrady) – brakuje miejsca
1 1011 1011, 1101 0101 – nie dopisujemy tetrady (bo liczby ujemne)

Sprawdzenie: 1 1011 1011, 1101 0101(excess) -> 1 1000 1000, 1010 0010 (BCD) (Jedna tetrada ma
wartość 1010, co oznacza korektę + 0110, ale bez przeniesienia) -> 1 1000 1000, 0000 0010 (BCD) ->
88,02(U10) (BIT ZNAKU = 1) -X-Y = 88,02 – 100 = -11,98

You might also like