Laborator 02BPC NET

6
Reprezentarea numerelor in sistemele de calcul Reprezentarea numerelor întregi fără semn: Consideram un cimp de k pozitii si un numar scris in baza p. Capacitatea unui cimp fix o putem deduce din valoarea celui mai mare intreg pozitiv pe care-l poate contine acest câmp şi anume: (1) C = p k-1 unde am notat cu C capacitatea cimpului. Fiecare pozitie in cadrul cimpului este caracterizata prin ponderea cifrei pe care o contine. Invers, putem deduce lungimea necesara unui cimp (numarul de pozitii) pentru a putea fi reprezentat un numar intr-o anumita baza, astfel: k= C log p În această reprezentare fiecare cifră zecimală a unui număr se reprezintă ca o succesiune de cifre binare, prima cifră dinspre stânga reprezentând cel mai semnificativ bit (Most Significant Bit), iar ultima cifră (prima dinspre dreapta) reprezentând cel mai puţin semnificativ bit (Last Significant Bit). Exemplu: numărul binar: 1011001 se reprezintă 1 0 1 1 0 0 1 6 5 4 3 2 1 0 Figura 1 Reprezentarea numerelor întregi cu semn: Vom conveni, in cazul numerelor cu semn, ca pozitia cea mai semnificativa (cea mai din stinga) in cadrul cimpului sa indice semnul, astfel: negativ numar - 1 pozitiv numar - 0 In cazul numerelor cu semn avem -p k-1 < C < p k-1 -1 În această reprezetare exemplul de mai devreme se codifică: 0 1 0 1 1 0 0 1 7 6 5 4 3 2 1 0 Figura 2

description

ffffffdfffffffffffffffffffffffffffffffffffffffffddddddddddddddddddddddddddddddddddddddddddddddddddddddd

Transcript of Laborator 02BPC NET

  • Reprezentarea numerelor in sistemele de calcul Reprezentarea numerelor ntregi fr semn:

    Consideram un cimp de k pozitii si un numar scris in baza p. Capacitatea unui cimp fix o putem deduce din valoarea celui mai mare intreg pozitiv pe care-l poate contine acest cmp i anume: (1) C = pk-1 unde am notat cu C capacitatea cimpului.

    Fiecare pozitie in cadrul cimpului este caracterizata prin ponderea cifrei pe care o contine. Invers, putem deduce lungimea necesara unui cimp (numarul de pozitii) pentru a putea fi reprezentat un numar intr-o anumita baza, astfel:

    k= Clogp n aceast reprezentare fiecare cifr zecimal a unui numr se reprezint ca o succesiune de cifre binare, prima cifr dinspre stnga reprezentnd cel mai semnificativ bit (Most Significant Bit), iar ultima cifr (prima dinspre dreapta) reprezentnd cel mai puin semnificativ bit (Last Significant Bit). Exemplu: numrul binar: 1011001 se reprezint

    1 0 1 1 0 0 1 6 5 4 3 2 1 0

    Figura 1

    Reprezentarea numerelor ntregi cu semn:

    Vom conveni, in cazul numerelor cu semn, ca pozitia cea mai semnificativa (cea mai din stinga) in cadrul cimpului sa indice semnul, astfel:

    negativnumar - 1pozitivnumar - 0

    In cazul numerelor cu semn avem -pk-1 < C < pk-1-1 n aceast reprezetare exemplul de mai devreme se codific:

    0 1 0 1 1 0 0 1 7 6 5 4 3 2 1 0

    Figura 2

  • Exemple de locaii n care se pot reprezenta numerele: bit - o cifra binara 0,1 octet - 8 biti (pot fi reprezentate numere fara semn cuprinse intre 0 .. 255) quartet - 4 biti (nibble) --> 0..15 cuvint - 16 biti (word) --> 0 .. 216 - 1 (65535) dublu cuvint - 32 biti (dword) --> 0 .. 232 - 1 cvadruplu cuvint - 64 biti (qword) --> 0 .. 264 - 1 Reprezentarea numrului 01.32 ................. bbbbN nn = se face dup regula:

    (0)(1)0000010 --> depasire, rezultat negativ incorect -33-48=(-21h)+(-30h) (-21h) (1)1011111+ (-30h) (1)1010000 ----------- transport->(1)(1)10101111 --> rezultat negativ, corect, obtinut in complement fata de 2. In final, prin complementare, se obtine: 11010001= -51h -120-30=(-78h)+(-1eh) (-78h) (1)0001000+ (-1eh) (1)1100010 ---------- transport-> (1)(0)1101010 --> depasire, rezultat pozitiv incorect Observatii: - intre paranteze am inclus cifra care semnifica transportul si cifra semn a numerelor Putem stabili 2 metode de detectare a depasirii (overflow): a) daca consideram cifra semn ca fiind doua cifre binare (00->"+" si 11->"-") putem semnala depasire la adunarea sau scaderea a doua numere cu acelasi semn prin difererentierea celor 2 biti in cifra semn (01 sau 10 semnifica depasire) b) depasirea apare atunci cind am fie transport spre cifra semn si nu am CY, fie cind am CY si nu am transport spre cifra semn. Putem stabili urmatoarea relatie intre depasire (OV), transport in afara capacitatii (CY) si semn (S): OV = CY _ S = CY XOR S Avantajele utilizrii codului complementar fa de 2:

    1) biii de semn se sumeaz identic; 2) rezultatul se obine printr-o singur operaie; 3) se poate substitui scderea printr-o adunare.

    Operatii in complement fata de 1

    In acest caz operatiile se fac la fel ca si anterior, insa operanzii sunt exprimati in complement fata de 1. Adunarea a dou numere negative A=2n-a 1 A+B= 2n-(a+b)+2n 1-1 B=2n-b 1

  • Rezultatul corect este 2n-(a+b)-1, deci se elimin 2n 1. Eliminarea acestui bit este echivalent cu adunarea transportului (CY) din rengul semnului (2n) la bitul cel mai puin semnificativ. +5+(+7) (0)0101+ (0)0111 ----------- (0)1100 rezultat corect +8+(+9) (0)1000+ (0)1001 ----------- (1)0001 eroare (rezultatul este un numr negativ) Scderea n complement fa de 1, poate fi nlocuit printr-o sum ntre desczut i codul complementar fa de 1 al scttorului. Se adun apoi eventualul transport din rangul semnului la poziia LSB. -33-48=(-21h)+(-30h) (-21h) (1)1011110+ (-30h) (1)1001111 ----------- transport->(1)(1)0101101 + 1 ---------- (1)0101110 --> rezultat negativ, corect, obtinut in complement fata de 1. In final, prin complementare, se obtine: (1)1010001= -51h -120-30=(-78h)+(-1eh) (-78h) (1)0000111+ (-1eh) (1)1100001 ---------- transport-> (1)(0)1101000 + 1 ---------- (0)1101001 --> depasire, rezultat pozitiv incorect Toate observatiile anterioare privind detectarea depasirii sunt valabile si aici, dar se observa dezavantajul recircularii transportului. Avantajele utilizrii codului complementar fa de 1: a) Operaiile respect aceleai reguli ca i operaiile n complement fa de 2, inclusiv sesizarea depirii capacitii de reprezentare, cu condiia de a efectua corecia rezultatului prin adunarea transportului la ultimul rang LSB.

  • b) Sesizarea depirii capacitii de reprezentare se poate face i prin sesizarea momentului cnd adunnd doua numere de acelai semn se obine un rezultat de semn opus. c) Scderea este aceeai ca i la numerele reprezentate n complement fa de 2.

    Dezavantaje: Necesitatea efecturii unei operaii n plus (corecia rezultatului).