amp

18
Dan NICULA ELECTRONIC ˘ A DIGITAL ˘ A Carte de ˆ ınv˘ at ¸˘ atur˘ a 1.1 Editura Universit˘ at ¸ii TRANSILVANIA din Bra¸ sov ISBN 978-606-19-0086-2 2012

description

amp

Transcript of amp

  • Dan NICULA

    ELECTRONICA DIGITALACarte de ^nvatatura 1.1

    Editura Universitatii TRANSILVANIA din BrasovISBN 978-606-19-0086-2

    2012

  • Lectia 1

    Reprezentarea datelor ^n sistemeledigitale

    I^n sistemele de calcul, numerele sunt reprezentate ^n baza de numeratie 2. I^n aceasta baza de numeratie, numerele secodica cu doua simboluri: 0 si 1.

    Un numar reprezentat pe mai multe cifre binare are o valoare determinata cu formula:

    bN1bN2:::b1b0 =N1Xi=0

    (bi 2i)

    De exemplu: 1011001j2 = 1 26 + 0 25 + 1 24 + 1 23 + 0 22 + 0 21 + 1 20 = 89j10Reprezentarea numerelor ^n baza 16 necesita 16 simboluri: 10 cifre (0 9) si 6 litere (A;B;C;D;E; F ).

    Baza 10 Baza 16 Baza 2

    0 0 00001 1 00012 2 00103 3 00114 4 01005 5 01016 6 01107 7 01118 8 10009 9 100110 A 101011 B 101112 C 110013 D 110114 E 111015 F 1111

    Stocarea informatiilor ^n sisteme de calcul necesita codicarea acestora cu coduri binare, pe baza simbolurilor 0 si1.

    Numerele pozitive sunt codicate prin reprezentarea acestora ^n baza 2.

    Numerele ^ntregi pot codicate ^n mai multe feluri:- marime si semn,- complement fata de 1,- complement fata de 2.

    Cea mai utilizata codicare este codicarea numerelor ^ntregi ^n complement fata de 2. Aceasta codicare s-a impusdatorita avantajelor acesteia ^n implementarea sistemelor de calcul digitale. I^n acest capitol, ^n lipsa altor mentiuni,

  • 6 LECTIA 1. Reprezentarea datelor ^n sistemele digitale

    numerele ^ntregi sunt considerate reprezentate ^n complement fata de 2.

    I^n sistemele de calcul, numerele sunt reprezentate sub forma unor codicari binare. Operatiile aritmetice ^n baza2 sunt similare operatiilor ^n baza 10, par mai grele pentru operatorul uman, ^nsa sunt mai usor de implementat ^nsisteme de calcul hardware digitale.

    Semnul numerelor ^ntregi (pozitive sau negative) este si el codat binar (0 = numar pozitiv, 1 = numar negativ).Operatiile aritmetice binare implementate hardware trebuie sa tina cont de semnul operanzilor si sa ^l proceseze corect.

    Caracterele alfa-numerice sunt codate ^n codul ASCII (Engl. "American Standard Code for Information Inter-change"). Codul ASCII asociaza ecarui caracter un cod binar de 8 biti.

    1. Enumerati primele 20 de numere care sunt puteri ale lui 2.

    Solutie

    20 = 121 = 2 25 = 32 29 = 512 213 = 8:192 = 8K 217 = 131:072 = 128K22 = 4 26 = 64 210 = 1:024 = 1K 214 = 16:384 = 16K 218 = 262:144 = 256K23 = 8 27 = 128 211 = 2:048 = 2K 215 = 32:768 = 32K 219 = 524:288 = 512K24 = 16 28 = 256 212 = 4:096 = 4K 216 = 65:536 = 64K 220 = 1:048:576 = 1M

    2. Care este cel mai mare numar binar, exprimat pe 16 biti?Care este echivalentul sau ^n baza 10? Dar ^n baza 16?

    Solutie

    Cel mai mare numar binar, exprimat pe 16 biti este 1111 1111 1111 1111j2. Echivalentul sau ^n baza 10 este216 1 = 65:535j10, iar ^n baza 16 este FFFF j16.

    3. Care este cel mai mare numar pozitiv, exprimat ^n baza 10 care se poate reprezenta pe 8 biti? Dar pe 4 bytes?

    Solutie

    Cel mai mare numar pozitiv, exprimat ^n baza 10, care se poate reprezenta pe 8 biti este 28 1 = 255.4 bytes= 4 8 = 32 biti. Deci, cel mai are numar pozitiv, exprimat ^n baza 10, care poate reprezentat pe 4bytes este 232 1 = 4:294:967:295.

    4. Realizati urmatoarea conversie si prezentati modul ^n care ati obtinut rezultatul: 11010111j2 =?j16Solutie

    Se grupeaza cifrele binare ca^te 4, de la dreapta la sta^nga. Fiecarui grup de 4 cifre binare ^i va corespunde o cifrahexazecimala.11010111j2 = 1101 0111j2 = D7j16 (1101j2 = Dj16 si 0111j2 = 7j16).

    5. Valoarea 100j16 este egala cu valoarea exprimata ^n baza 10:a) 100 b) 256 c) 210 d) 400

    Solutie

    100j16 = 1 162 + 0 161 + 0 160 = 256j10. Raspuns corect: b).6. Realizati urmatoarele conversii:

    a) 13j10 =?j2 =?j8 =?j16 g) 1999j10 =?j2 =?j16 m) 10001000j2 =?j10b) 110 1101j2 =?j16 =?j8 =?j10 h) 2012j10 =?j2 =?j8 =?j16 n) DEAD BEEF j16 =?j2 =?j10c) 11101010101j2 =?j10 i) BEEF j16 =?j2 =?j8 =?j10 o) 369j10 =?j2 =?j8 =?j16d) 130j10 =?j2 =?j8 =?j16 j) 0101 1010 1101j2 =?j16 =?j10 p) 1101 0110j2 =?j10 =?j8 =?j16e) 11 1000 1101j2 =?j16 =?j8 =?j10 k) 201j10 =?j2 =?j8 =?j16 q) 372j8 =?j2 =?j10 =?j16f) 11010011j2 =?j10 l) ABCDj16 =?j2 =?j8 =?j10 r) DACj16 =?j2 =?j10 =?j8

    Solutie

    a) 13j10 = (8 + 4 + 1)j10 = (1 23 + 1 22 + 0 21 + 1 20)j10 = 1101j2Pentru a converti numarul din baza 2 ^n baza 8 se grupeaza cifrele binare ca^te 3, din dreapta ^n sta^nga. Fiecaruigrup de 3 cifre binare ^i va corespunde o cifra ^n baza 8.

  • 71101j2 = 1 101j2 = 15j813j10 = Dj16.b) 1101101j2 = 110 1101j2 = 6Dj16;1101101j2 = 1 101 101j2 = 155j8;155j8 = (1 82 + 5 81 + 5 80)j10 = (64 + 40 + 5)j10 = 109j10c) 111 0101 0101j2 = (1210+129+128+126+124+122+120)j10 = 1024+512+256+64+16+4+1 = 1877j10.d) 130j10 = (128 + 2)j10 = (1 27 + 1 21) = 1000 0010j2.10 000 010j2 = 202j8.1000 0010j2 = 82j16.e) 11 1000 1101j2 = 38Dj16.1 110 001 101j2 = 1615j8.38Dj16 = (3 162 + 8 161 + 13 160) = 768 + 128 + 13 = 909j10.f) 1101 0011j2 = (1 27 + 1 26 + 1 24 + 1 21 + 1 20)j10 = 128 + 64 + 16 + 2 + 1 = 211j10.g) 1999j10 = (1024 + 512 + 256 + 128 + 64 + 8 + 4 + 2 + 1)j10 = (1 210 + 1 29 + 1 28 + 1 27 + 1 26 + 1 23 +1 22 + 1 21 + 1 20)j10 = 111 1100 1111j2.h) 2012j10 = (1024 + 512 + 256 + 128 + 64 + 16 + 8 + 4)j10 == (1 210 + 1 29 + 1 28 + 1 27 + 1 26 + 1 24 + 1 23 + 1 22)j10 = 111 1101 1100)j2.11 111 011 100j2 = 3734j8.111 1101 1100j2 = 7DCj16.i) Se reprezinta ecare cifra din reprezentarea ^n baza 16 pe 4 biti, ^n baza 2:BEEF j16 = 1011 1110 1110 1111j2.1 011 111 011 101 111 = 137357j8.BEEF j16 = (11 163 + 14 162 + 14 16 + 15 160) = 48879j10.j) 0101 1010 1101j2 = 5ADj16.5ADj16 = (5 162 + 10 161 + 13 160)j10 = 1453j10.k) 201j10 = (128 + 64 + 8 + 1)j10 = (1 27 + 1 26 + 1 23 + 1 20)j10 = 1100 1001j2.11 001 001j2 = 311j8.1100 1001j2 = C9j16.l) ABCDj16 = 1010 1011 1100 1101j2.1 010 101 111 001 101j2 = 125715j8.ABCDj16 = (10 163 + 11 162 + 12 161 + 13 160)j10 = 43981j10.m) 1000 1000j2 = (1 27 + 1 23)j10 = 136j10.o) 369j10 = (256 + 64 + 32 + 16 + 1)j10 = (1 28 + 1 26 + 1 25 + 1 24 + 1 20)j10 = 1 0111 0001j2.101 110 001j2 = 561j81 0111 0001j2 = 171j16p) 1101 0110j2 = D6j16 = (13 161 + 6 160)j10 = 214j1011 010 110j2 = 326j8

    7. Rezolvati urmatoarele operatii, dupa conversia tuturor operanzilor ^n baza rezultatului:a) 100j10 + 100j2 + 100j8 + 100j16 =?j10b) 100j10 + 100j2 + 100j8 + 100j16 =?j16c) 100j10 + 100j2 + 100j8 + 100j16 =?j2d) 11j10 + 11j8 + 11j16 =?j16e) 2012j16 +ABCDj16 =?j16f) 2012j16 +BEEF j16 =?j16g) 2012j10 + 2012j8 + 2012j16 =?j16Solutie

    a) 100j2 = 1 22 = 4j10;100j8 = 1 82 = 64j10;100j16 = 1 162 = 256j10.I^n baza 10, calculul devine: 100 + 4 + 64 + 256 = 424j10.b) 100j10 = (6 161 + 4)j10 = 64j16;100j2 = 4j16;

  • 8 LECTIA 1. Reprezentarea datelor ^n sistemele digitale

    100j8 = 1 000 000j2 = 0100 0000j2 = 40j16;I^n baza 16, calculul devine 64j16 + 4j16 + 40j16 + 100j16 = 1A8j16.c) 100j10 = (64 + 32 + 4)j10 = (1 26 + 1 25 + 1 22)j10 = 0110 0100j2;100j8 = 0100 0000j2;100j16 = 1 0000 0000j2;I^n baza 2, calculul devine:

    1_0000_0000+

    0_0100_0000

    0_0110_0100

    0_0000_0100

    -----------

    1_1010_1000

    d) 11j10 = Bj1611j8 = 001 001j2 = 1001j2 = 9j16I^n baza 16, calculul devine: B + 11 + 9 = 25j16.e), f) Numerele se pot aduna direct ^n baza 16 prin dispunerea lor unul sub altul si adunarea de la dreapta lasta^nga a ca^te unei cifre, cu considerarea transportului.

    000

  • 910. Convertiti urmatoarele numere din baza 10 ^n baza 2 si prezentati modul ^n care ati obtinut rezultatul. Realizatiaceleasi conversii prin conversia intermediara a numerelor ^n baza 16.104, 1024, 1907, 1921, 1989, 2012, 2020, 4095, 4097, 7777, 8192.

    Solutie

    Conversiile ^n binar din cadrul acestui exercitiu sunt realizate prin descompunerea numarului reprezentat ^n baza10, ca sume ponderate ale puterilor lui 2.104j10 = (64 + 32 + 8)j10 = (1 26 + 1 25 + 1 23) = 110 1000j21024j10 = 1 210j10 = 100 0000 0000j21907j10 = (1024+512+256+64+32+16+2+1)j10 = (1 210+1 29+1 28+1 26+1 25+1 24+1 21+1 20)j10 =111 0111 0011j21989j10 = (1024+512+256+128+64+4+1)j10 = (1210+129+128+127+126+122+120)j10 = 111 1100 0101j2

    I^n cazul conversiei intermediare ^n baza 16, se reprezinta numarul ^n baza 16, iar apoi se reprezinta ecare cifra^n binar pe 4 biti. Conversia din baza 10 ^n baza 16 se poate face prin ^mpartiri succesive la 16 si considerareaca^turilor intermediare si a restului nal.104j10 = (6 161 + 8 160)j10 = 68j16 = 110 1000j2.1024 = (4 162 + 0 161 + 0 160)j10 = 400j16 = 100 0000 0000j2.1907j10 = (7 162 + 7 161 + 3 160)j10 = 773j16 = 111 0111 0011j2.1989j16 = (7 162 + 12 161 + 5 160)j10 = 111 1100 0101j2.

    11. Determinati reprezentarea numarului 2012j10 ^n binar pe 16 biti.Solutie

    2012j10 = (1024+512+256+128+64+16+8+4)j10 = (1210+129+128+127+126+124+123+122)j10 =111 1101 1100j2.2012j10 = 111 1101 1100j2 = 0000 0111 1101 1100j2.

    12. Convertiti numarul hexazecimal 6ABC ^n baza 2 si apoi ^n baza 8. Repetati problema pentru numerele ABCD,BEBE, 2012, DEAD, BEEF .

    Solutie

    Fiecare cifra hexazecimala va genera un grup de 4 cifre binare.6ABCj16 = 0110 1010 1011 1100j2 = 0 110 101 010 111 100j2 = 65274j8ABCDj16 = 1010 1011 1100 1101j2 = 1 010 101 111 001 101j2 = 125715j8BEBEj16 = 1011 1110 1011 1110j2 = 1 011 111 010 111 110j2 = 137276j8

    13. Convertiti numarul zecimal 387 ^n binar, ^n doua moduri:a) convertit direct din zecimal ^n binar,b) convertit ^nta^i din zecimal ^n hexazecimal si apoi din hexazecimal ^n binar.Care metoda este mai rapida? Dar mai sigura? Repetati operatia cu numerele: 57, 101, 202, 400.

    Solutie

    a) Conversie direct din zecimal ^n binar:387j10 = (256 + 128 + 2 + 1)j10 = (1 28 + 1 27 + 1 21 + 1 20)j10 = 1 1000 0011j2;b) Conversie din zecimal ^n hexazecimal si din hexazecimal ^n binar:387j10 = (1 162 + 8 161 + 3 160)j10 = 183j16 = 0001 1000 0011j2.Dupa realizarea calculelor, se poate concluziona ca metoda conversiei prin baza 16 este mai rapida si mai sigura,^ntruca^t sunt mai putine operatii.

    a) 57j10 = (32 + 16 + 8 + 1)j10 = (1 25 + 1 24 + 1 23 + 1 20) = 11 1001j2;b) 57j10 = (3 161 + 9)j10 = 39j16 = 11 1001j2.a) 101j10 = (64 + 32 + 4 + 1)j10 = (1 26 + 1 25 + 1 22 + 1 20) = 110 0101j2;b) 101j10 = (6 161 + 5 160) = 65j16 = 110 0101j2.

    14. Convertiti urmatoarele numere din binar ^n hexazecimal grupa^nd ca^te 4 biti pentru a forma o cifra ^n baza 16:010101010011, 111111010010, 100101101, 11100011100, 1000001, 100, 10111101, 10100111,11011110101011011011111011101111.

    Solutie

    010101010011j2 = 0101 0101 0011j2 = 553j16111111010010j2 = 1111 1101 0010j2 = FD2j16

  • 10 LECTIA 1. Reprezentarea datelor ^n sistemele digitale

    100101101j2 = 1 0010 1101j2 = 12Dj1611100011100j2 = 111 0001 1100j2 = 71Cj161000001j2 = 100 0001 = 41j16100j2 = 4j1610111101j2 = 1011 1101j2 = BDj1610100111j2 = 1010 0111j2 = A7j16

    15. Convertiti urmatoarele numere din hexazecimal ^n zecimal: EA2, ABC, 777, BABA, ABC5, ABACE, E, 14, 234,FF01. Convertiti aceleasi numere ^n binar prin asocierea a 4 cifre binare ecarei cifre hexazecimale.

    Solutie

    Conversia numerelor din hexazecimal direct ^n zecimal:EA2j16 = (14 162 + 10 161 + 2 160)j10 = (3584 + 160 + 2)j10 = 3746j10;ABCj16 = (10 162 + 11 161 + 12 160)j10 = (2560 + 176 + 12)j10 = 2748j10;777j16 = (7 162 + 7 161 + 7 160)j10 = (1792 + 112 + 7)j10 = 1911j10;BABAj16 = (11 163 + 10 162 + 11 161 + 10 160)j10 = (45056 + 2560 + 176 + 10)j10 = 47802j10.Conversia numerelor din hexazecimal ^n zecimal, cu conversie intermediara ^n binar prin gruparea a ca^te 4 biti:EA2j16 = 1110 1010 0010j2 = 3746j10;ABCj16 = 1010 1011 1100j2 = 2748j10;777j16 = 0111 0111 0111j2 = 1911j10;BABAj16 = 1011 1010 1011 1010j2 = 47802j10.

    16. Scrieti urmatoarele numere reprezentate pe 8 biti, ca marime si semn, ^n complement fata de 1 si ^n complementfata de 2: 33, -27, 14, -17, 100, -98, 125, -123.Determinati numerele negate ^n aceleasi tipuri de codicari: -33, 27, -14, 17, -100, 98, -125, 123.

    Solutie

    33j10 = 10 0001j2. Fiind un numar pozitiv, ^n toate cele trei reprezentari (MS, C1 si C2) numarul areaceeasi reprezentare de cifre binare (7 biti marime si un bit de semn): 33jMS;C1;C2 = 0 0100001;

    27j10 = 1 1011j2 = 0001 1011j2. 27 ind un numar negativ, cele trei reprezentari (MS, C1 si C2) suntdiferite, dar au acelasi bit de semn asociat numerelor negative: 1.27j10 = 1 0011011jMS , obtinut prin negarea bitului de semn a reprezentarii numarului pozitiv asociat;27j10 = 1 1100100jC1, obtinut prin negarea bit cu bit a reprezentarii numarului pozitiv asociat;27j10 = 1 1100101jC2, obtinut prin adaugarea unei unitati la reprezentarea C1 a numarului.

    14j10 = 1110j2 = 0 000 1110jMS;C1;C2. 17j10 = 1 0001j2 = 0001 0001j2.17j10 = 1 001 0001jMS17j10 = 1 110 1110jC117j10 = 1 110 1111jC2

    100j10 = 110 0100j2 = 0 110 0100jMS;C1;C2.

    17. Determinati numerele ^ntregi reprezentate ^n complement fata de 2 dupa cum urmeaza (bitul cel mai semnicativeste bitul de semn): 0110110, 1101111010101101, 01011010011, 1100000001, 001111110, 110001010.

    Solutie

    0 11 0111jC2 = +37j16 = +54j10 1 101 1110 1010 1101jC2 are bitul de semn egal cu 1, deci este negativ.1 101 1110 1010 1101jC2+1 = 0 010 0001 0101 0011j2 = 2153j16 = 2 163+1 162+5 161+3 160 = 853110.Deci, numarul ^n baza 10 este 8531j10

    0 10 1101 0011jC2 = +2D3j16 = +723j10

    18. Demonstrati urmatorul algoritm de aare a complementului fata de 2 al unui numar reprezentat ^n binar:"se copiaza bitii de la dreapta la sta^nga pa^na la primul bit egal cu 1, inclusiv, iar ceilalti biti se neaga".Exemplicati modul de aplicare a algoritmului ^n comparatie cu algoritmul clasic:"se neaga toti bitii si se adauga 1".Exemplicati cu numerele 53 si 116.

  • 11

    Solutie

    a) 53j10 = 0011 0101j253j10 = 0011 0101 + 1 = 1100 1011jC2, se adauga 1 la reprezentarea complementata a numarului pozitiv.53j10 = 1100 1011jC2, din reprezentarea numarului pozitiv, de la dreapta la sta^nga, se copiaza primul bit (este1) si apoi se neaga ceilalti.

    b) 116j10 = 0111 0100j2.116j10 = 0111 0100 + 1 = 1000 1100jC2, se adauga 1 la reprezentarea complementata a numarului pozitiv.116j10 = 1000 1100jC2, din reprezentarea numarului pozitiv, de la dreapta la sta^nga, se copiaza primii 3 biti(doi de 0 si un 1) si apoi se neaga ceilalti.

    19. Precizati multimea numerelor ce pot reprezentate astfel:

    a) numere pozitive, pe 7 biti;

    b) numere ^ntregi, codicate ca marime si semn (MS), pe 7 biti;

    c) numere ^ntregi, codicate ^n complement fata de 1 (C1), pe 7 biti;

    d) numere ^ntregi, codicate ^n complement fata de 2 (C2), pe 7 biti;

    e) numere pozitive/^ntregi codicate MS/C1/C2, pe 8 biti;

    f) numere pozitive/^ntregi codicate MS/C1/C2, pe 4 bytes.

    Determinati domeniile de reprezentare a numerelor codicate ^n MS/C1/C2 pentru un numar N de biti. Utilizatiformulele determinate pentru 8/16/32/64 biti.

    Solutie

    a) Pe N biti, pot reprezentate 2N numere pozitive, ^ntre 0 si 2N 1. Pentru N = 7 biti, pot reprezentatenumerele pozitive ^ntre 0 si 27 1, adica ^ntre 0 (000 0000) si 127 (111 1111).b) Numerele ^ntregi reprezentate ca "marime si semn" au un bit (cel mai semnicativ) rezervat pentru semn.Rama^n N 1 biti pentru codicarea marimii. I^nsa, pentru cazul ca^nd marimea este zero nu are semnicatiecombinatia "numar negativ nul". Domeniul numerelor reprezentabile este ^ntre (2N1 1) si (2N1 1).Pentru N = 7 biti, domeniul numerelor ce pot reprezentate este ^ntre (2(71) 1) si (2(71) 1), adica ^ntre63 si 63. Numarul binar 000 0000 reprezinta numarul 0 (zero). Combinatia binara 100 0000 nu este legala(poate considerata asociata numarului "negativ" zero).

    c) Reprezentarea numerelor pozitive ^n complement fata de 1 este identica cu reprezentarea numerelor pozitive ^ndomeniul 0 si 2N11. Reprezentarea numerelor negative ^n complement fata de 1 este obtinuta din reprezentareanumerelor pozitive asociate si negarea bit cu bit. Rezulta domeniu ^ntre (2N11) si 0. I^n acest mod, numarulzero are asociate doua combinatii (toti bitii 0 sau toti bitii 1). Domeniul de reprezentare este ^ntre (2N1 1)si (2N1 1). Pentru N=7 biti, domeniul de reprezentare al numerelor ^n complement fata de 1 este ^ntre(271 1) si 271 1, adica ^ntre -63 si 63. Combinatiile 000 0000 si 111 1111 sunt asociate numarului 0(zero).

    d) I^n cazul numerelor ^ntregi reprezentate ^n complement fata de 2, domeniul este ^ntre 2N1 si 2N1 1.Pentru N=7 biti, domeniul de reprezentare este ^ntre 64 si 63. Numarul zero are o singura reprezentare000 0000. Numarul pozitiv maxim este 63, reprezentat ca 011 1111. Numarul negativ 63 este reprezentat ca100 0001. Numarul negativ minim este 64, reprezentat ca 100 0000.

    20. Sa se converteasca numerele din zecimal ^n binar utiliza^nd metoda scaderii ponderate. Sa se verice rezul-tatul prin efectuarea conversiilor inverse, din binar ^n zecimal, utiliza^nd metoda adunarii ponderate. Numereconsiderate: 23, 55, 100, 178.

    Solutie

    Metoda scaderii ponderate este o metoda iterativa care presupune listarea puterilor lui 2 mai mici deca^t numarulconsiderat. Iteratiile ^ncep cu considerarea puterii lui 2 celei mai mari (mai mica deca^t numarul). Se scadenumarul putere a lui 2 din numarul considerat. Cu restul obtinut se repeta scaderea urmatoarei puteri ale lui2 (mai mica deca^t cea anterioara). Daca restul este mai mic deca^t puterea lui 2, se considera ^n forma binaraun 0 (zero). Altfel, se considera un 1 si se obtine un nou rest prin scaderea puterii lui 2 din valoarea restului.Algoritmul se termina la cea mai mica putere a lui 2 (20 = 1).

    23- 7- 3- 1- 55- 23- 7- 3- 1- 100- 36- 4- 178- 50- 18- 2-

    16 4 2 1 32 16 4 2 1 64 32 4 128 32 16 2

    == = = = == == = = = === == = === == == =

    7 3 1 0 23 7 3 1 0 36 4 0 50 18 2 0

  • 12 LECTIA 1. Reprezentarea datelor ^n sistemele digitale

    16 8 4 2 1 32 16 8 4 2 1 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1

    1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 0 1 0

    Vericarea rezultatului prin metoda adunarii ponderilor presupune ^nsumarea puterilor lui 2 ale caror indecsiapar ^n reprezentarea binara:1 0111j2 = (16 + 4 + 2 + 1)j10 = 23j1011 0111j2 = (32 + 16 + 4 + 2 + 1)j10 = 55j10110 0100j2 = (64 + 32 + 4)j10 = 100j101011 0010j2 = (128 + 32 + 16 + 2)j10 = 178j10

    21. Aati reprezentarea binara a numarului 0010100100010111jBCD.Solutie

    Se grupeaza numarul reprezentat ^n format BCD ^n grupuri de ca^te 4 biti, de la dreapta la sta^nga, obtina^ndu-se:0010 1001 0001 0111. Pentru ecare grup de 4 biti ce reprezinta o cifra ^n format BCD, se aa corespondentul^n baza 10: 0010 = 2; 1001 = 9; 0001 = 1; 0111 = 7. Rezulta ca 0010 1001 0001 0111jBCD = 2917j10. Printransformarea numarului din baza 10 ^n baza 2, rezulta: 2917j10 = 1011 0110 0101j2.I^n concluzie, 0010 1001 0001 0111jBCD = 1011 0110 0101j2.

    22. Determinati reprezentarile urmatoarelor numere ^ntregi ^n formatele pe 16 biti: marime si semn, complementfata de 1 si complement fata de 2.a) -5 b) -10 c) -100 d) -10000 e) -29876.

    Solutie

    a) 5j10 = 101j2 = 0000 0000 0000 0101j2Prin schimbarea ^n 1 a bitului cel mai semnicativ: 5j10 = 1000 0000 0000 0101jMSPrin complementarea bit cu bit a reprezentarii binare a numarului pozitiv: 5j10 = 1111 1111 1111 1010jC1Prin adaugarea unei unitati la reprezentarea ^n complement fata de 1: 5j10 = 1111 1111 1111 1011jC2

    b) 10j10 = 1010j2 = 0000 0000 0000 1010j210j10 = 1000 0000 0000 1010jMS = 1111 1111 1111 0101jC1 = 1111 1111 1111 0110jC2

    c) 100j10 = 110 0100j2 = 0000 0000 0110 0100j2100j10 = 1000 0000 0110 0100jMS = 1111 1111 1001 1011jC1 = 1111 1111 1001 1100jC2

    d) 1000j10 = 11 1110 1000j2 = 0000 0011 1110 1000j21000j10 = 1000 0011 1110 1000jMS = 1111 1100 0001 0111jC1 = 1111 1100 0001 1000jC2

    e) 29876j10 = 111 0100 1011 0100j2 = 0111 0100 1011 0100j229876j10 = 1111 0100 1011 0100jMS = 1000 1011 0100 1011jC1 = 1000 1011 0100 1100jC2

    23. Reprezentati numerele 123 si 789 ^n format BCD si apoi ^nsumati-le. Repetati operatia cu numerele (777 si 456),(839 si 352), (784 si 609).

    Solutie

    Se plaseaza cele doua numere unul sub altul, ca la o adunare ^n baza 10:

    123+ 0001_0010_0011+

    789 0111_1000_1001

    --- --------------

    912 1001_0001_0010

    Adunarea cifrelor BCD nu trebuie facuta ca a numerelor ^n binar deoarece, ^n cazul numerelor BCD, transportuleste generat la valoarea 10. Astfel 0011 + 1001 = 0010; transport = 1, adica 3 + 9 = 2; transport = 1. La fel0010 + 1000 + 1 = 0001; transport = 1 (2 + 8 + 1 = 1; transport = 1) si 0001 + 0111 + 1 = 1001; transport = 0(1 + 7 + 1 = 9).

    839+ 1000_0011_1001+ 784+ 0111_1000_0100+

    352 0011_0101_0010 609 0110_0000_1001

    ---- ------------------- ---- -------------------

    1191 0001_0001_1001_0001 1393 0001_0011_1001_0011

  • 13

    24. Scrieti-va numele cu caractere binare ^n cod ASCII.

    Solutie

    Sa presupunem urmatorul nume: Ion Stelescu. Fiecare litera poate codata ^n ASCII si exprimata ^n hexa-zecimal, dupa cum urmeaza:I = 49j16, o = 6F j16, n = 6Ej16, "space" = 20j16, S = 53j16, t = 74j16, e = 65j16, l = 6Cj16, e = 65j16, s = 73j16,c = 63j16, u = 75j16.Convertind codurile din baza 16 ^n baza 2 rezulta scrierea ^n binar a numelui Ion Stelescu:

    49 6F 6E 20 Ion_

    53 74 65 6C 65 73 63 75 Stelescu

    0100_1001 0110_1111 0110_1110 0010_0000

    0101_0011 0111_0100 0110_0101 0110_1100 0110_0101 0111_0011 0110_0011 0111_0101

    25. Decodati urmatorul text scris ^n binar cu coduri ASCII: 01000101 01001100 01000101 01000011 0101010001010010 01001111 01001110 01001001 01000011 01000001 00100000 01000100 01001001 01000111 0100100101010100 01000001 01001100 01000001.

    Solutie

    0100_0101 0100_1100 0100_0101 0100_0011 0101_0100 0101_0010 0100_1111

    4 5 4 C 4 5 4 3 5 4 5 2 4 7

    E L E C T R O

    0100_1110 0100_1001 0100_0011 0100_0001 0010_0000

    4 E 4 9 4 3 4 1 2 0

    N I C A

    0100_0100 0100_1001 0100_0111 0100_1001 0101_0100 0100_0001 0100_1100 0100_0001

    4 4 4 9 4 7 4 9 5 4 4 1 4 C 4 1

    D I G I T A L A

    26. Decodati urmatorul text scris ^n hexazecimal cu coduri ASCII: 41 63 65 61 73 74 61 20 63 61 72 74 65 20 61 2061 70 61 72 75 74 20 69 6E 20 61 6E 75 6C 20 32 30 31 32 2E.Transcrieti mesajul ^n binar.

    Solutie

    Textul decodat este (ASCII, binar, caracter):

    41 63 65 61 73 74 61 20

    01000001 01100011 01100101 01100001 01110011 01110100 01100001 00100000

    A c e a s t a

    63 61 72 74 65 20 61 20

    01100011 01100001 01110010 01110100 01100101 00100000 01100001 00100000

    c a r t e a

    61 70 61 72 75 74 20 69 6E 20

    01100001 01110000 01100001 01110010 01110101 01110100 00100000 01101001 01101110 00100000

    a p a r u t i n

    61 6E 75 6C 20 32 30 31 32 2E

    01100001 01101110 01110101 01101100 00100000 00110010 00110000 00110001 00110010 00101110

    a n u l 2 0 1 2 .

    27. Cu ce operatie aritmetica se pot determina codurile ASCII ale caracterelor ce reprezinta cifre, pe baza cifreirespective?

  • 14 LECTIA 1. Reprezentarea datelor ^n sistemele digitale

    Solutie

    I^n codul ASCII, caracterele asociate cifrelor sunt codicate cu primele 4 cifre binare 0011. Ultimele 4 cifrebinare reprezinta cifra scrisa ^n binar. Astfel, codul ASCII al caracterului "0" este 0011 0000j2 = 30j16. Se poateconsidera ca pentru a obtine codul ASCII al unei cifre, trebuie adunata acea cifra la codul ASCII asociat ca-racterului "0". Astfel: "1"="0"+1, "7"="0"+7, "9"="0"+9. Aceasta observatie este utilizata pentru conversianumerelor reprezentate ^n binar ^n codul ASCII corespunzator cifrei, ^n vederea asarii acestuia ^n sisteme deasaj.

    28. Ce bit trebuie complementat ^n codul ASCII pentru a converti un sir de litere minuscule ^n corespondentele lormajuscule?

    Solutie

    I^ntre codurile ASCII asociate unei litere majuscule si aceeasi litera minuscula este o diferenta de 20j16 = 32j10 =25. Cu alte cuvinte, minusculele si majuscule au acelasi cod ASCII cu exceptia bitului 5 care este 0 la literamajuscula si 1 la litera minuscula. Pentru conversia unei litere din minuscula ^n majuscula trebuie complementatbitul 5.

    29. Ce valoare ^n baza 10 reprezinta sirul binar 1000 1001 0111 daca valoarea este codicata ^n:

    a) cod BCD c) cod complement fata de 2b) cod complement fata de 1 d) numar pozitiv.

    Solutie

    a) 1000 1001 0111jBCD = 897j10b) 1000 1001 0111jC1 = (0111 0110 1000j2) = (210+29+28+26+25+23) = (1024+512+256+64+32+8) =1896j10c) 1000 1001 0111jC2 = (0111 0110 1000j2+1) = (0111 0110 1001j2) = (1024+512+256+64+32+8+1) =1897j10d) 1000 1001 0111j2 = 211 + 27 + 24 + 22 + 21 + 20 = 2048 + 128 + 16 + 4 + 2 + 1 = 2199j10

    30. Convertiti urmatoarele numere reprezentate ^n BCD ^n baza 10 si prezentati modul ^n care ati obtinut rezultatul:10010111, 10000010, 11001001001, 11000011010011000, 11101011000, 001000110001000101110101.Convertiti ^n binar numerele prezentate.

    Solutie

    Pentru a converti un numar reprezentat ^n format BCD ^n format zecimal, se grupeaza ca^te 4 biti, de la dreaptala sta^nga. Fiecare grup de 4 cifre binare va genera o cifra a numarului exprimat ^n baza 10. Conversia ^n binarse va face din reprezentarea ^n baza 10.1001 0111jBCD = 97j10 = 110 0001j2,1000 0010jBCD = 82j10 = 101 0010j2,110 0100 1001jBCD = 649j10 = 10 1000 1001j2,1 1000 0110 1001 1000jBCD = 18698j10 = 100 1001 0000 1010j2,111 0101 1000jBCD = 758j10 = 10 1111 0110j2,0010 0011 0001 0001 0111 0101jBCD = 23117j10 = 101 1010 0100 1101j2.

    31. Un sistem de calcul opereaza cu numere reprezentate pe 48 de biti. Ca^te numere pot reprezentate cu acestnumar de biti, daca se utilizeaza urmatoarele coduri?a) binar b) BCD c) ASCII

    Solutie

    a) 248 = 281:474:976:710:656

    b) 10(48=4) = 1012 = 1:000:000:000:000

    c) 10(48=8) = 106 = 1:000:000

    32. Determinati numarul minim de biti utilizati pentru a codica ecare caracter dintr-o tastatura cu urmatoarelenumere de taste: 9, 16, 22, 36, 104.

    Solutie

    Numarul de biti necesar se obtine rezolva^nd inecuatia 2 biti numar taste.Rezulta numarul de biti necesar: 4, 4, 5, 6, 7.

  • 15

    33. Daca urmatoarele numere de biti sunt utilizate pentru a codica ecare caracter dintr-o tastatura, determinatinumarul maxim de taste: 4, 5, 6, 7, 8.

    Solutie

    Numarul de taste care se pot codica se obtine rezolva^nd ecuatia numar taste = 2 biti. Rezulta numarul maximde taste codicate: 16, 32, 64, 128, 256.

    34. Un convertor analog-digital (Engl. "ADC = Analog-Digital Converter") are o intrare analogica Vin si n iesiridigitale Dn1:::D0. Circuitul prezinta la iesire tensiunea analogica de la intrare, codicata binar. Un circuitADC este caracterizat de marimile: rezolutia de bit (Rbit), domeniul maxim al tensiunii de intrare (Vmax) sinumarul de biti (n). Cele trei marimi sunt ^n relatia: Vmax = 2

    n Rbit. Determinati numarul minim de biti deiesire pentru ecare ADC:a) Rezolutie 0.25V, tensiune maxima 5V,b) Rezolutie 70mV, tensiune maxima 10V,c) Rezolutie 8mV, tensiune maxima 12V,d) Rezolutie 0.75mV, tensiune maxima 12V.

    Solutie

    Utiliza^nd relatia Vmax = 2n Rbit rezulta numarul minim de biti:

    a) Rbit = 0:25V , Vmax = 5V , n = 5;

    b) Rbit = 70mV , Vmax = 10V , n = 8;

    c) Rbit = 8mV , Vmax = 12V , n = 11;

    d) Rbit = 0:75mV , Vmax = 12V , n = 14.

    35. Un convertor digital-analog (Engl. "DAC = Digital-Analog Converter") are o intrare digitala pe n biti Dn1:::D0si produce la iesire o tensiune analogica Vout ^n 2

    n trepte de tensiune. Determinati numarul minim de biti deintrare pentru ca circuitul DAC sa produca o tensiune de iesire cu urmatoarele numere de trepte: 32, 128, 425,1024.

    Solutie

    Relatia dintre numarul de biti ai convertorului digital-analog si numarul maxim de trepte este:numar trepte 2 biti.Rezulta numerele de biti: 5, 7, 9, 10.

    36. Determinati codul pentru comanda unui asaj cu 7 segmente care sa prezinte urmatoarele caractere: E, b, C, d,h, A, 7, 9. Pentru a lumina un segment acesta trebuie comandat cu valoarea logica 1.

    Solutie

    Se considera denumirea segmentelor ca ^n gura ??. Rezulta codurile, ^n ordinea S0S1S2S3S4S5S6:E = 1001111, b = 0011111, C = 1001110, d = 0111101, h = 0010111, A = 1110111, 7 = 1110000, 9 = 1111011.

    Figura 1.1 Asaj cu 7 segmente referit la problema ??.

    37. Explicati functionarea tastaturii de telefon prezentata ^n gura ??. Care este codul binar O3O2O1O0I2I1I0 careidentica apasarea tastelor: 1, *, 5, 7, 6?

    Solutie

    Circuitul prezinta o matrice de butoane prin apasare, normal deschise. Porturile de intrare ale circuitului decomanda pentru tastatura, I2I1I0, sunt conectate prin rezistente la tensiunea de alimentare. Asta ^nseamna ca,^n mod normal, ca^nd butonul este neapasat, portul de intrare primeste valoarea logica 1. Prin apasarea unuibuton, intrarea corespunzatoare primeste valoarea liniei de iesire corespunzatoare O3O2O1O0. Daca pe linia de

  • 16 LECTIA 1. Reprezentarea datelor ^n sistemele digitale

    Figura 1.2 Tastatura de telefon referita la problema ??.

    iesire (a ra^ndului) se aplica valoarea logica 0, se va putea determina daca butonul a fost apasat sau nu.Circuitul de comanda activeaza secvential ca^te o linie ^n portul de iesire O3O2O1O0 plasa^nd succesiunea decoduri: 0111, 1011, 1101, 1110. La aplicarea codului 0111 se selecteaza primul ra^nd de taste (tastele 1, 2, 3).Apasarea uneia sau mai multor taste din acest grup este identicata de catre circuitul de comanda prin scanareaportului de intrare I2I1I0. De exemplu, daca a fost apasata tasta 1, I2I1I0 = 011. Prin modicarea codului deiesire O3O2O1O0, se modica ra^ndul de taste care se scaneaza la intrarea I2I1I0. Tasta 1 se aa la intersectiara^ndului selectat de O3 cu coloana scanata pe intrarea I2.

    Codul tastei 1 este O3O2O1O0I2I1I0 = 0111 011.Codul tastei * este O3O2O1O0I2I1I0 = 1110 011.Codul tastei 5 este O3O2O1O0I2I1I0 = 1011 101.Codul tastei 7 este O3O2O1O0I2I1I0 = 1101 011.Codul tastei 6 este O3O2O1O0I2I1I0 = 1011 110.

    38. Asociati coduri binare celor 52 carti de joc (folositi un numar minim de biti). Precizati patternul binar pentruselectia urmatoarelor:a) toate cartile de trea;b) toate cartile de rosu;c) toate cartile de 9 (indiferent de culoare);d) cartile de 10, rosu;e) cartile de negru mai mari deca^t 7;f) cartile mai mici deca^t 4.

    Solutie

    Cartile de joc sunt de 4 feluri: doua de culoare rosie (inima rosie si romb) si doua de culoare neagra (inimaneagra si trea). Sunt necesari 2 biti pentru a codica cele 4 tipuri de carti. Daca se codica ^ntr-un anumitmod, se poate face ca un bit din cei doi sa codice culoarea cartii. De exemplu, se codica:

    00 = inima rosie, 01 = romb, 10 = inima neagra, 11 = trea

    Din ecare fel sunt 13 carti de joc, cu simbolurile: 2; 3; 4; 5; 6; 7; 8; 9; 10; A; J;Q;K. Pentru codicarea acestoraeste nevoie de minim 4 biti (24 13).

  • 17

    Se codica: A = 1011; J = 1100; Q = 1101;K = 1110.I^n total, sunt folositi 6 biti (26 = 64 combinatii) pentru a codica 52 de obiecte. Deci, vor 12 coduri nealocate(codurile celor 4 culori, terminate cu 0000; 0001; 1111. O parte din acestea pot alocate pentru carti speciale(joker). I^n cazul codicarii propuse, patternul de selectie a grupelor precizate este:

    a) toate cartile de trea: 11XXXXb) toate cartile de rosu: 0XXXXXc) toate cartile de 9 (indiferent de culoare): XX1001d) cartile de 10 rosu: 0X1010e) cartile de negru mai mari deca^t 7: 1X1XXXf) cartile mai mici deca^t 4: XX00XX

    39. Sa se propuna codicarea disciplinelor din planul de ^nvatama^nt, cu un numar minim de biti si care sa continaurmatoarele informatii:

    specializarea; disciplina; tipul disciplinei (O = obligatorie sau F = facultativa); semestrul ^n care se desfasoara (4 ani, ca^te doua semestre pe an, o disciplina se poate desfasura ^n unul saudoua semestre).

    Sa se propuna codarea corelata ata^t pentru operatorul uman (usor de interpretat de catre oameni) ca^t si pentrugestionarea de catre calculator (codicare binara).

    Propuneti un cod unic pe tara care sa includa informatii despre:

    facultate; universitate; oras.

    Includeti si caracteristici ale disciplinelor:

    continut (DF = disciplina fundamentala, DD = disciplina ^n domeniu, DS = disciplina de specialitate, DC= disciplina complementara)

    optionalitate (DI = disciplina obligatorie, impusa, DO = disciplina optionala, la alegerea studentilor).Calculati numarul de biti necesari pentru codicarea unei discipline.

    Pe baza codicarii binare, propuneti patternuri de selectie a disciplinelor pe anumite criterii.

    - toate disciplinele unei specializari;- toate disciplinele fundamentale din anul 2, ale unei specializari;- toate disciplinele din semestrul 3 (semestrul 1, anul 2);- toate disciplinele de specialitate, optionale, din anul 2, ale unei specializari.

    40. Justicati valoarea de adevar a ecarei armatii:a) Numarul binar 1111 0101 reprezinta numarul -10 exprimat ^n complement fata de 2.b) 101j10 + 100j16 = 1 0110 0101j2c) 101j10 + 101j16 = 1 0110 0110j2Solutie

    a) 10j10 = 0000 1010j2, rezulta 10 = 1111 0101 + 1 = 1111 0110jC2, deci armatia este falsa.1111 0101j2 reprezinta un numar negativ (deoarece are cel mai semnicativ bit egal cu 1).0000 1010+1 = 0000 1011 Rezulta ca numarul binar considerat reprezinta numarul 11j10 ^n format complementfata de 2 pe 8 biti.b) 101j10 = 64 + 32 + 4 + 1 = 0 27 + 1 26 + 1 25 + 0 24 + 0 23 + 1 22 + 0 21 + 1 20 = 0110 0101j2.100j16 = 1 0000 0000j2, deci armatia este adevarata.

    0110_0101+

    1_0000_0000

    -----------

    1_0110_0101

  • 18 LECTIA 1. Reprezentarea datelor ^n sistemele digitale

    d) Se poate observa ca fata de armatia de la punctul b), primul operand este acelasi, iar cel de al doilea estemai mare cu 1, deca^t operanzii sumei de mai sus. Astfel, rezultatul acestei sume se poate aa prin adunarea larezultatul anterior cu 1. Deci, armatia este adevarata.

    1_0000_0101+

    1

    -----------

    1_0110_0110

    41. Reprezentarea ^n complement fata de 2 a operatiei 4 + 7 = 3 este:a) 0000 0100 + 1111 1001 = 0000 0011;b) 0100 + 0111 = 0011;c) 11 1100 + 00 0111 = 10 0011;d) 1111 1100 + 0000 0111 = 0000 0011.

    Solutie

    4j10 = 0000 0100j2, 4j10 = 1111 1100j27j10 = 0000 0111j23j10 = 0000 0011j2Raspunsul corect este d).

    Raspunsul se poate determina si fara a face conversia ^n reprezentarea binara a operanzilor daca se observaurmatoarele:- Raspunsurile a) si b) sunt gresite, deoarece primul operand (4) trebuie sa aiba cel mai semnicativ bit egalcu 1, ind negativ.- Raspunsul c) este gresit, deoarece rezultatul 3 este pozitiv, deci ar trebui sa aiba bitul de semn egal cu 0.

    42. Realizati urmatoarele operatii ^n baza de numeratie precizata:a) 371j16 + 4DACj16 =?j16b) 1101 0001j2 + 1101 0111j2 =?j2Solutie

    Operatiile se pot realiza prin dispunerea operanzilor unul sub altul si adunarea cifrelor hexazecimale sau binareuna ca^te una, ^ncepa^nd de la cea mai putin semnicativa (din partea dreapta), cu considerarea transportului(mentionat pe primul ra^nd, la^nga simbolul

  • 19

    1101x 1010x 101x

    101 1010 111

    ==== ===== ===

    1101 0000 101

    0000 1010 101

    1101 0000 101

    ======= 1010 ======

    1000001 ======= 100011

    1100100

    45. Realizati urmatoarele scaderi ale numerelor pozitive precizate prin determinarea numarului negativ asociatscazatorului si realizarea unei operatii de adunare, conform formulei A B = A + (B). Extindeti bitulde semn pentru a putea reprezenta numerele negative.a) 11011 11001 b) 110110 10101 c) 1100 110111 d) 1001010 1001011Solutie

    Extinderea bitului de semn are ca scop obtinerea unei forme de reprezentare echivalente pe un numar mai marede biti, necesari pentru efectuarea unor operatii aritmetice care genereaza un rezultat ce nu poate reprezentatpe numarul initial de biti. Extinderea bitului de semn consta ^n adaugarea unor biti egali ca valoare cu bitul desemn, ^n partea sta^nga, ca biti mai semnicativi.

    a) Numerele pozitive au 5 biti. Pentru a reprezenta numerele negative asociate este necesar extinderea operanzilorcu un bit suplimentar 101011 11001 = 0 11011 0 11001.Operatia binara corespunde operatiei cu numere zecimale 27 25 = 27 + (25) = 2.25 = (0 11001jC2) = 1 00110 + 1 = 1 00111

    011011+

    100111

    ======

    000010

    b) Cel mai mare numar pozitiv are 6 biti. Pentru a reprezenta numerele negative asociate este necesar extindereaoperanzilor la 7 biti: 110110 10101 = 0 110110 0 010101Operatia binara corespunde operatiei cu numere zecimale 54 21 = 54 + (21) = 33.21 = (0 010101jC2) == 1 101010 + 1 = 1 101011

    0110110+

    1101011

    =======

    0100001

    c) Cel mai mare numar pozitiv are 6 biti. Pentru a reprezenta numerele negative asociate este necesar extindereaoperanzilor la 7 biti: 1100 110111 = 0 001100 0 110111Operatia binara corespunde operatiei cu numere zecimale 12 55 = 12 + (55) = 43.43 = (0 110111jC2) = 1 001000 + 1 = 1 001001

    0001100+

    1001001

    =======

    1010101

    (1 010101jC2) = 0 101011 = 43j10d) Operatia binara corespunde operatiei cu numere zecimale 74 75 = 74 + (75) = 1.

    01001010+

    10110101

    ========

    11111111

    46. Reprezentati urmatoarele operatii cu numere codicate ^n complement fata de 2 pe 16 biti. Vericati rezultateleprin conversia numerelor ^n baza 10.

  • 20 LECTIA 1. Reprezentarea datelor ^n sistemele digitale

    a) (+87) + (+22) c) (-87) + (+22) e) (+8765) + (+502) g) (+8765) + (-502)b) (+87) + (-22) d) (-87) + (-22) f) (-8765) + (+502) h) (-8765) + (-502)

    Solutie

    a) 0000 0000 0101 0111j2 + 0000 0000 0001 0110j2 = 0000 0000 0110 1101j2 = 109j10;b) 0000 0000 0101 0111j2 + 1111 1111 1110 1010j2 = 0000 0000 0100 0001j2 = 65j10;c) 1111 1111 1010 1001j2 + 0000 0000 0001 0110j2 = 1111 1111 1011 1111j2 = 65j10;

    47. Adunati, scadeti si ^nmultiti urmatoarele numere fara a le converti ^n zecimal.a) 451j8 si 175j8 b) 451j16 si 175j16 c) 2Ej16 si ABCj16 d) 1100j2 si 10 1011j2Solutie

    a) 451j8 + 175j8 = 646j8 b) 451j16 + 175j16 = 5C6j16451j8 175j8 = 254j8 451j16 175j16 = 2DCj16451j8 175j8 = 110405j8 451j16 175j16 = 64A05j16

    48. Algoritmul uzual de ^mpartire se bazeaza pe ^nmultiri si scaderi repetate. Realizati urmatoarele ^mpartiri ^n binar(obtineti ca^tul si restul). Vericati operatia "de^mpartit = ^mpartitor ca^t + rest" cu numerele convertite ^nzecimal.a) 101 1110 : 101 b) 1010 1110 : 1010 c) 1011 0111 : 110 d) 1011 1110 : 1011

    Solutie

    a) Algoritmul de ^mpartire este:

    Deimpartit -> 1011110 | 101

  • 21

    Adunare ScaderefCo; Sg = b1 + b2 + Ci fBo; Dg = b1 b2 Bib1 b2 Ci Co S b1 b2 Bi Bo D0 0 0 0 0 0 0 0 0 00 0 1 0 1 0 0 1 1 10 1 0 0 1 0 1 0 1 10 1 1 1 0 0 1 1 1 01 0 0 0 1 1 0 0 0 11 0 1 1 0 1 0 1 0 01 1 0 1 0 1 1 0 0 01 1 1 1 1 1 1 1 1 1

    Figura 1.3 Exemplicarea formulelor de adunare (fCo; Sg = b1 + b2 + Ci) si scadere (fBo; Dg = b1 b2 Bi) a bitilor.

    1110 010