4_poglavlje_sabiranje_bcd

Upload: nemanjamalovic

Post on 10-Jul-2015

501 views

Category:

Documents


0 download

TRANSCRIPT

4. SABIRANJE PRIMENOM KODOVA 8421 I VIE 3Sabiranje brojeva koji su predstavljeni kodovima 8421 i vie 3 ne moe da se izvri direktnom primenom pravila binarne aritmetike Neophodna je hardverska ili softverska korekcija. Sporija je obrada od binarne aritmetike. Programer vodi rauna o pravilnoj interpretaciji kodiranih brojeva. Koraci sabiranja u kodu 8421: Prvi korak: BCD brojevi se sabiraju bit po bit prema pravilima binarne aritmetike. Drugi korak: Ako nema prenosa u sledeu tetradu i ako je broj < 1010(2) nema korekcije. Ako je broj 1010(2) i nema prenosa u sledeu tetradu, dodaje se 6(10)(0110(2)) Ako postoji prenos u sledeu tetradu, tetradi se dodaje 6(10) ( 0110(2) ) Koraci sabiranja u kodu vie 3: Prvi korak: BCD brojevi se sabiraju bit po bit prema pravilima binarne aritmetike. Drugi korak: Ako se pojavi prenos u sledeu tetradu, tetradi se dodaje 3(10) (0011(2) ) Ako nema prenosa u sledeu tetradu od te tetrade se oduzima 3(10) (tetradi se dodaje drugi komplement broja -3(10), odnosno 1101(2)).

Primer 1. Reenje:

Prikazati dekadni broj 15,147(10) u kodu 8421 i kodu vie 3.

15,147(10) = 0001 0101 , 0001 0100 0111(8421) 15,147(10) = 0100 1000 , 0100 0111 1010( vie 3 ) Primer 2. Dati su brojevi: a) 100100,00111 u kodu 8421 b) 111011,01111 u kodu vie 3. Napisati ove brojeve u decimalnom brojnom sistemu.

Reenje: a) b) 100100 , 00111(8421) = 0010 0100 , 0011 1000 = 24,38(10) 111011 , 01111( vie 3 ) = 0011 1011, 0111 1000 = 8,45(10).

Primer 3.

Prikazati u kodu 8421 brojeve 6187(10) i 2495(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

40

Reenje: 6187(10) 2495(10) 0110 0001 1000 0111(8421) + 0010 0100 1001 0101(8421) 1000 0110 0001 1100 + 0110 0110 1. korekcija 1000 0110 1000 0010 = 8682(10)

Primer 4.

Prikazati u kodu 8421 brojeve 7531(10) i 1484(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 7531(10) 1484(10) 0111 0101 0011 0001(8421) + 0001 0100 1000 0100(8421) 1000 1001 1011 0101 + 0110 1. korekcija 1000 1010 0001 0101 + 0110 2. korekcija 1001 0000 0001 0101(8421) = 9015(10)

Primer 5.

Prikazati u kodu 8421 brojeve 6187(10) i 2495(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 6187(10) 2495(10) 0110 0001 1000 0111(8421) + 0010 0100 1001 0101(8421) 1000 0110 0001 1100 + 0110 0110 1. korekcija 1000 0110 1000 0010 = 8682(10)

Primer 6.

Prikazati u kodu 8421 brojeve 7531(10) i 1484(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 7531(10) 1484(10) 0111 0101 0011 0001(8421) + 0001 0100 1000 0100(8421) 1000 1001 1011 0101 + 0110 1. korekcija 1000 1010 0001 0101 + 0110 2. korekcija 1001 0000 0001 0101(8421) = 9015(10)

Primer 7.

Prikazati u kodu 8421 brojeve 5324(10) i 1768(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

41

Reenje: 5324(10) 1768(10) 0101 0011 0010 0100(8421) + 0001 0111 0110 1000(8421) 0110 1010 1000 1100 + 0110 0110 korekcija 0111 0000 1001 0010(8421) = 7092(10)

Primer 8.

Prikazati u kodu 8421 brojeve 3712(10) i 1456(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 3712(10) 1456(10) 0011 0111 0001 0010(8421) + 0001 0100 0101 0110(8421) 0100 1011 0110 1000 + 0110 korekcija 0101 0001 0110 1000(8421) = 5168(10).

Primer 9.

Prikazati u kodu 8421 brojeve 1357(10) i 5468(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 1357(10) 5468(10) 0001 0011 0101 0111(8421) + 0101 0100 0110 1000(8421) 0110 0111 1011 1111 + 0110 0110 korekcija 0110 1000 0010 0101(8421) = 6825(10).

Primer 10.

Prikazati u kodu 8421 brojeve 2875(10) i 6943(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 2875(10) 6943(10) 0010 1000 0111 0101(8421) + 0110 1001 0100 0011(8421) 1001 0001 1011 1000 + 0110 0110 korekcija 1001 1000 0001 1000(8421) = 9818(10).

Primer 11.

Prikazati u kodu 8421 brojeve 1337(10) i 2468(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

42

Reenje:

1337(10) 2468(10)

0001 0011 0011 0111(8421) + 0010 0100 0110 1000(8421) 0011 0111 1001 1111 + ____________ 0110 korekcija 0011 0111 1010 0101 +________ 0110_____ korekcija 0011 1000 0000 0101(8421) = 3805(10).

Primer 12.

Prikazati u kodu 8421 brojeve 2075(10) i 5943(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 2075(10) 5943(10) 0010 0000 0111 0101(8421) + 0101 1001 0100 0011(8421) 0111 1001 1011 1000 + ________ 0110 ____ korekcija 0111 1010 0001 1000 + ____ 0110_________ korekcija 1000 0000 0001 1000(8421) = 8018(10).

Primer 13. Prikazati u kodu 8421 brojeve 2369(10) i 1653(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem. Reenje: 2369(10) 1653(10) 0010 0011 0110 1001(8421) +0001 0110 0101 0011(8421) 0011 1001 1011 1100 + ________ 0110 0110 korekcija 0011 1010 0010 0010 + ____0110_________ korekcija 0100 0000 0010 0010(8421) = 4012(10).

Primer 14.

Prikazati u kodu vie 3 brojeve 8153(10) i 1298(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 8153(10) = 1011 0100 1000 0110( vie 3 ) 1298(10) = + 0100 0101 1100 1011( vie 3 ) 1111 1010 0101 0001 + 1101 1101 0011 0011 korekcija 1100 0111 1000 0100( vie 3) = 9451(10) Primer 15. Prikazati u kodu vie 3 brojeve 5947(10) i 3106(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

43

Reenje: 5947(10) 3106(10) 1000 1100 0111 1010( vie 3 ) + 0110 0100 0011 1001( vie 3 ) 1111 0000 1011 0011 + 1101 0011 1011 0011 korekcija 1100 0011 1000 0110( vie 3 ) = 9053(10)

Primer 16.

Prikazati u kodu vie 3 brojeve 2875(10) i 6943(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 0101 1011 10101000 ( vie 3 ) 2875(10) 6943(10) + 1001 1100 0111 0110 ( vie 3 ) 1111 1000 0001 1110 + 1101 0011 0011_1101 korekcija 1100 1011 0100 1011( vie 3 ) = 9818 (10). Primer 17. Prikazati u kodu vie 3 brojeve 5324(10) i 1768(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 5324(10) 1000 0110 0101 0111 ( vie 3 ) 1768(10) + 0100 1010 1001 1011 ( vie 3 ) 1101 0000 1111 0010 + 1101 0011 1101 0011 korekcija 1010 0011 1100 0101( vie 3 ) = 7092(10). Primer 18. Prikazati u kodu vie 3 brojeve 3712(10) i 1456(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 3712(10) 1456(10) 0110 1010 0100 0101 ( vie 3 ) + 0100 0111 1000 1001 ( vie 3 ) 1011 0001 1100 1110 + 1101 0011 1101 1101 korekcija 1000 0100 1001 1011( vie 3 ) = 5168 (10).

Primer 19.

Prikazati u kodu vie 3 brojeve 5318(10) i 2471(10), a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem.

Reenje: 5318(10) 1000 0110 0100 1011 ( vie 3 ) 2471(10) + 0101 0111 1010 0100 ( vie 3 ) 1101 1101 1110 1111 + 1101 1101 1101 1101 korekcija 1010 1010 1011 1100( vie 3 ) = 7789(10). 44

Primer 20.

Prikazati navedene brojeve u kodu: a) 8421 b) vie 3 a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem: 1) 1111(10) + 2567(10) 2) 2345(10) + 2876(10) 3) 3987(10) + 5555(10) 4) 4545(10) + 4444(10) 5) 2323(10) + 7654(10) 6) 6789(10) + 1459(10) 7) 1234(10) + 8765(10) 8) 2033(10) + 6754(10) 9) 1099(10) + 8188(10).

Primer 21.

Prikazati navedene brojeve u kodu: a) 8421 b) vie 3 a zatim izraunati njihov zbir i vratiti rezultat u decimalni brojni sistem: 1) 3333(10) + 4343(10) 2) 1234(10) + 3629(10) 3) 1756(10) + 3013(10) 4) 465(10) + 6235(10) 5) 218(10) + 1743(10) 6) 572(10) + 9006(10) 7) 919(10) + 135(10) 8) 371(10) + 817(10) 9) 666(10) + 444(10)

45