SlideShare a Scribd company logo
1 of 40
2-1                                                       Reprezentarea datelor




                        Arhitectura calculatoarelor

                              Reprezentarea datelor

           Con ţ inuturi
           1. Introducere
           2. Reprezentarea numerelor î n virgul ă fix ă
           3. Reprezentarea numerelor î n virgul ă mobil ă
           4. Studiu de caz: E ş ecul rachetelor Patriot datorat
              pierderii preciziei
           5. Coduri de caractere




Arhitectura Sistemelor de Calcul
2-2                                                     Reprezentarea datelor



             Numere cu virgul ă fix ă
  • Folosind doar dou ă cifre pentru precizia numerelor cu
  semn î n baza 10, intervalul de valori ce pot fi reprezentate
  este
  [-99, +99] iar precizia (distan ţ a dintre dou ă numere
  succesive) este 1.
  • Eroarea maxim ă , adic ă diferen ţ a dintre valoarea unui
  numă r real ş i cel mai apropiat î ntreg este jum ă tatea din
  precizie. Pentru cazul nostru, eroarea este ½ x 1 = 0.5.
  • Dac ă alegem a = 70, b = 40 ş i c = -30, atunci a + (b + c)
  = 80 (ceea ce este corect) dar (a + b) + c = ?
     R ă spuns: -20 ceea ce nu este corect . Problema este c ă (a
     + b) este +110, ceea ce dep ăş e ş te +99, a ş a c ă se re ţ in
     doar cele dou ă cifre din parte dreapt ă (+10) pentru
     rezultatul intermediar. Aceasta este o problem ă de care
     trebuie s ă ţ inem cont câ folosim o reprezentare finit ă
Arhitectura Sistemelor de Calcul
                                 nd
2-3                                                                      Reprezentarea datelor



                  Cod cu ponderi ale pozi ţ iei
     • Baza unui sistem de numera ţ ie define ş te intervalul de
     valori posibile pentru cifre: 0 – 9 pentru baza 10 ; 0,1
     pentru baza 2.
     • Formula general ă pentru determinarea valorii zecimale a
     unui num ă r este:




     Exemplu:

     541.25 10 = 5 × 10 2 + 4 × 10 1 + 1 × 10 0 + 2 × 10 -1 + 5 × 10 -2


                     = (500) 10 + (40) 10 + (1) 10 + (2/10) 10 + (5/100) 10
Arhitectura Sistemelor de Calcul
2-4                                                  Reprezentarea datelor



             Conversii de baze cu metoda
                        restului
     •Exemplu: Conversia lui 23.375 10 î n baza 2. Prima dat ă se
     converte ş te partea î ntreag ă:




Arhitectura Sistemelor de Calcul
2-5                                         Reprezentarea datelor



               Conversii de baze cu metoda
                         î nmulţ irii
    • Conversia p ă r ţ ii frac ţ ionare :




     •Rezultatul, 23.375 10 = 10111.011 2

Arhitectura Sistemelor de Calcul
2-6                                                       Reprezentarea datelor


                 Fracţ ii î n baza 2 periodice
  • Nu putem converti î ntotdeauna o frac ţ ie neperiodic ă din
  baza 10 î ntr-o frac ţ ie periodic ă î n baza 2 (sau alt ă baz ă ) :




Arhitectura Sistemelor de Calcul
2-7                                                       Reprezentarea datelor


     Bazele de numera ţ ie 2, 8, 10, 16
• Exerci ţ iu: Scrie ţ i o coloan ă pentru baza 3 . Converti ţ i 14 10
î n baza 3. Rezultatul trebuie s ă fie 112 3




Arhitectura Sistemelor de Calcul
2-8                                                               Reprezentarea datelor


                    Conversii de baze
• Conversia î ntre baze care sunt puteri ale lui doi se poate
face foarte simplu:
         1011 2 = (10 2 )(11 2 ) = 23 4
         23 4 = (2 4 )(3 4 ) = (10 2 )(11 2 ) = 1011 2

         101010 2 = (101 2 )(010 2 ) = 52 8

         01101101 2 = (0110 2 )(1101 2 ) = 6D 16


• De câ i bi ţ i e nevoie pentru reprezentarea unei cifre î n
       ţ
bazele 2, 4, 8, 16…?
Î n baza 2 pentru care 2 = 2 1 , exponentul este 1 a ş a c ă se
folose ş te un singur bit . Î n baza 4 pentru care 4 = 2 2 ,
exponentul este 2, a ş a c ă se folosesc 2 bi ţ i pentru
Arhitectura Sistemelor de Calcul oric ă rui num ă r din baza 4, î n baza 8 se
reprezentarea
2-9                                                Reprezentarea datelor



                                   Adunare binară




Arhitectura Sistemelor de Calcul
2-                                                      Reprezentarea datelor
 10

                                   Numere cu semn
  • Dac ă reprezent ă m numere pe 8 bi ţ i , exist ă 2 8 = 256
    secven ţ e distincte de bi ţ i de lungime 8 . Aceste secven ţ e de
    biţ i pot fi interpretate toate ca fiind numere pozitive (0 -
    255) sau unele secven ţ e le putem interpreta ca fiind
    numere negative iar altele pozitive. Jum ă tate le putem
    considera pozitive iar cealalt ă jum ă tate negative.
  • Modalit ăţ i de reprezentare :
  Magnitudine cu semn
  Complement fa ţă de unu
  Complement fa ţă de doi
  Exces


Arhitectura Sistemelor de Calcul
2-                                                    Reprezentarea datelor
 11

                              Magnitudine cu semn
  • Bitul cel mai semnificativ este bit de semn (0 = pozitiv, 1 =
    negativ) iar restul bi ţ ilor reprezint ă magnitudinea .


  • Exemplu:
  +2510 = 000110012
  -2510 = 100110012



  • Exist ă dou ă reprezent ă ri pentru zero: (care sunt?)
  +0 = 00000000 2 , -0 = 10000000 2 .

  • Cel mai mare num ă r este +127, cel mai mic num ă r este
    -127 10 , folosind o reprezentare pe 8 bi ţ i .
Arhitectura Sistemelor de Calcul
2-                                                      Reprezentarea datelor


                       Complement fa ţă de unu
 12




 • Bitul cel mai semnificativ este bit de semn (0 = pozitiv, 1 =
   negativ). Num ă rul negativ se ob ţ ine prin sc ă derea fiec ă rui
   bit din 2 (complementarea fiec ă rui bit din 0 se transform ă
   î n 1 ş i din 1 î n 0). Aceast ă opera ţ ie de complementare
   fa ţă de 1 func ţ ioneaz ă atâ pentru transformarea numerelor
                                 t
   negative î n numere pozitive câ ş i invers.
                                      t
 • Exemplu:
 +2510 = 000110012
 -2510 = 111001102

 • Ş i aici exist ă dou ă reprezent ă ri pentru zero : (care sunt ?)
 +0 = 00000000 2 , -0 = 11111111 2 .
 • Cel mai mare num ă r este +127 10 , cel mai mic este -127 10 , î n
   reprezentarea pe 8 bi ţ i .
Arhitectura Sistemelor de Calcul
2-                                                     Reprezentarea datelor


                        Complement fa ţă de doi
 13




  • Bitul cel mai semnificativ este bit de semn (0 = pozitiv, 1 =
    negativ). Num ă rul negativ se ob ţ ine prin adunarea valorii 1
    la complementul fa ţă de unu al num ă rului negativ.
  Aceast ă opera ţ ie de complementare fa ţă de 2 func ţ ioneaz ă
   atâ pentru transformarea numerelor negative î n numere
      t
   pozitive câ ş i invers.
              t
  • Exemplu ( -25 10 = 11100110 2 î n complement fa ţă de unu:
  +2510 = 000110012
  -2510 = 111001112
  • Exist ă o singur ă reprezentare pentru zero: +0 = 00000000 2 ,
    -0 = 00000000 2 .
  • Cel mai mare num ă r +127 10 , cel mai mic -128 10 , folosind o
    reprezentare pe 8 bi ţ i.
Arhitectura Sistemelor de Calcul
2-                                                     Reprezentarea datelor
 14

                      Reprezentarea î n exces
  • Cel mai semnificativ bit este bit de semn (de obicei 1 =
    pozitiv, 0 = negativ). Reprezentarea pozitiv ă ş i negativ ă a
    unui num ă r se ob ţ ine prin adunarea unei valori la
    reprezentarea î n complement fa ţă de doi. Aceasta
    func ţ ioneaz ă î n ambele direc ţ ii pozitiv-negativ, negativ-
    pozitiv. Efectul este c ă pentru numerele mici se folose ş te
    un num ă r mai mic de bi ţ i, ceea ce simplific ă compararea
    numerelor reale.
  • Exemplu (exces 128 “adun ă ” 128 la complementul fa ţă de
    doi, ignorâ “transport out” dac ă exist ă la cel mai
               nd
    semnificativ bit) :
  +1210 = 100011002
  -1210 = 011101002
  • O singur ă reprezentare pentru zero: +0 = 10000000 2 , -0 =
    10000000 2 .
Arhitectura Sistemelor de Calcul
2-                                                       Reprezentarea datelor


 Reprezent ă ri BCD î n complement
15




          fa ţă de 9 ş i 10
 • Fiecare cifr ă codificat ă binar (BCD) este format ă din 4 bi ţ i.




 • Exemplu: Reprezentarea lui +079 10 î n BCD: 0000 0111
   1001
  • Exemplu: Reprezentarea lui -079 10 î n BCD: 1001 0010
       0001. Se ob ţ ine prin sc ă derea din 9 a fiec ă rei cifre a lui
       079 pentru a ob ţ ine complementul fa ţă de 9, 999-079 = 920.
       Adunâ 1 ob ţ inem complementul fa ţă de 10: 920+1=921.
                    nd
       Convertirea fiec ă rei cifre a num ă rului din baza 10 î n BCD
Arhitectura Sistemelor de Calcul
       ob ţ inem: 1001 0010 0001.
2-                                           Reprezentarea datelor
 16
         Reprezent ă ri pe 3 bi ţ i a unor î ntregi cu
                            semn




Arhitectura Sistemelor de Calcul
Numere î n baza zece î n virgul ă
 2-                                                   Reprezentarea datelor
 17



                mobilă
  • Numerele î n virgul ă mobil ă permit reprezentarea unor
    numere foarte mari ş i a unor numere foarte mici folosind un
    numă r mic de cifre, f ă câ compromisuri la precizie.
                                 nd
    Precizia este determinat ă de num ă rul de cifre din frac ţ ie
    (significand, mantis ă ) care are atâ parte î ntreag ă câ ş i
                                            t                  t
    parte frac ţ ionar ă . Plaja de valori este determinat ă de
    numă rul de cifre rezervate exponentului .
  • Exemplu (+6.023 × 10 23 ):




Arhitectura Sistemelor de Calcul
2-                                                                    Reprezentarea datelor
 18

                             Normalizare
• Numă rul 254 din baza 10 poate fi reprezentat sub forma î n
  virgul ă flotant ă (mobil ă ) ca 254 × 10 0 , sau î n mod
  echivalent ca:
      25.4 × 10 1 , sau
      2.54 × 10 2 , sau
      .254 × 10 3 , sau
      .0254 × 10 4 , sau ….
 ceea ce creeaz ă probleme la efectuarea compara ţ iilor (fiind
  atâ de multe forme pentru acela ş i num ă r).
     t
• Numerele î n virgul ă mobil ă sunt de obicei normalizate,
  adic ă pozi ţ ia punctului zecimal este î ntotdeauna fixat ă
  pentru un anumit num ă r .
 • De obicei, reprezentarea normalizat ă plaseaz ă punctul
Arhitectura Sistemelor deîCalcul stâ
      zecimal n                     nga celei mai semnificative cifre a frac ţ iei , de
                     3
Exemple de numere î n virgul ă
 2-                                                      Reprezentarea datelor
 19




  •
                            mobilă ă de virgulă mobilă
      Reprezentarea lui .254 ×10 sub form
                                   3

      normalizat î n baza 8 cu bit de semn, urmat de o
      reprezentare î n exces 4 cu 3 bi ţ i , urmat de 4 cifre î n baza
      8.
  • Pasul #1: Se converte ş te î n baza ţ int ă
  .254 × 10 3 = 254 10 . Folosind metoda restului, ob ţ inem
    254 10 =376×8 0 :

                254/8 = 31 R 6
                31/8 = 3 R 7
                3/8 = 0 R 3
  • Pasul #2: Normalizare: 376 × 8 0 = .376 × 8 3 .
  • Pasul #3: Se completeaz ă bitul de semn pozitiv 0.
    Exponentul 3+4=7 (exces 4) , ş i partea frac ţ ionar ă de 4 cifre
    = .3760:
Arhitectura Sistemelor de Calcul
2-                                                        Reprezentarea datelor


         Eroare, interval ş i precizie
20




 • Î n exemplul precedent, baza era b = 8, numă rul de cifre
   semnificative î n frac ţ ie s = 4, cea mai mare valoare pentru
   exponent M = 3, cea mai mic ă valoare pentru exponent m =
   -4.
 • Î n exemplul precedent, nu exist ă o reprezentare explicit ă
   pentru 0, dar trebuie s ă existe rezervat ă o secven ţă de bi ţ i
   special ă pentru 0 altfel nu s-ar putea reprezenta valoare 0
   fă ră î nc ă lcarea regulii normaliz ă rii. Vom considera
   secven ţ a
   0 000 000 000 000 000 ca fiind reprezentarea pentru 0.
  • Folosind b, s, M ş i m, vom caracteriza reprezentarea î n
       virgul ă mobil ă î n termeni de: cel mai mare num ă r pozitiv
       reprezentabil, cel mai mic num ă r pozitiv ş i diferit de zero ce
       se poate reprezenta, cea mai mic ă diferen ţă dintre dou ă
       numere succesive, cea mai mare diferen ţă dintre dou ă
       numere succesive ş i num ă rul total de numere ce se pot
       reprezenta.
Arhitectura Sistemelor de Calcul
2-                                                          Reprezentarea datelor


   Eroare, interval ş i precizie (cont.)
 21




  • Cel mai mare num ă r reprezentabil : b M × (1 - b-s) = 8 3 × (1 -
    8 -4 )


  • Cel mai mic num ă r reprezentabil : b m × b -1 = 8 -4 - 1 = 8 -5


  • Cea mai mare diferenţă: bM × b -s = 8 3 - 4 = 8 -1


  • Cea mai mic ă diferen ţă: b m × b-s = 8 -4 - 4 = 8 -8




Arhitectura Sistemelor de Calcul
2-                                                             Reprezentarea datelor


 Eroare, interval ş i precizie (cont.)
22




                      Numă rul     Prima cifr ă   Restul
           Bit de       de          a fracţ iei   cifrelor
           semn      exponen ţ i                  frac ţ iei

 • Numă rul de numere reprezentabile : Sunt 5 componente: (A)
      bit-ul de semn; pentru fiecare num ă r, cu excep ţ ia lui zero,
      exist ă atâ un num ă r pozitiv câ ş i unul negativ ; (B) (M - m) +
                           t            t
      1 exponen ţ i ; (C) b - 1 valori pentru prima cifră (0 nu este
      permis ca prim ă cifr ă normalizat ă); (D) bs-1 valori pentru
      fiecare din cele s-1 cifre ră mase , plus (E) o reprezentare
      special ă pentru zero . Pentru acest exemplu, cele 5
      componente dau: 2 × ((3 - 4) + 1) × (8 - 1) × 8 4-1 + 1 numere
      ce pot fi reprezentate . Acest num ă r nu trebuie s ă fie mai
      mare decâ num ă rul de secven ţ e distincte de bi ţ i ce pot fi
                             t
      generate, adic ă 2 16 .
Arhitectura Sistemelor de Calcul
Exemple de formate î n virgul ă
 2-                                                 Reprezentarea datelor
 23



                    mobilă




  • Cel mai mic num ă r este 1/8
  • Cel mai mare num ă r este 7/4
  • Cea mai mic ă diferen ţă este 1/32
  • Cea mai mare diferen ţă este 1/4
  • Num ă rul total de numere reprezentabile este 33.
Arhitectura Sistemelor de Calcul
2-
 24
             Diferen ţ a dintre dou ă numere          Reprezentarea datelor


                depinde de dimensiunea
                       exponentului
  • Eroarea relativ ă este aproximativ aceea ş i pentru toate
    numerele.
  • Dac ă consider ă m raportul dintre o distan ţă mare dintre
    două numere ş i un num ă r mare respectiv raportul dintre o
    distan ţă mic ă dintre dou ă numere ş i un num ă r mic vom
    constata c ă raporturile sunt identice :
    Distan ţă mare
      Numă r mare


      Distan ţă mic ă
      Numă r mic



Arhitectura Sistemelor de Calcul
2-                                                               Reprezentarea datelor
 25
                            Exemplu de conversie
  • Exemplu: Converti ţ i (9.375 × 10 -2 ) 10 î n baza 2, nota ţ ie
    ş tiin ţ ific ă
  • Î ncepem prin convertirea din baza 10 - virgul ă flotant ă î n
    baza 10 virgul ă fix ă prin mutarea punctului zecimal cu dou ă
    pozi ţ ii la stânga , ceea ce corespunde exponentului -2: .
    09375.
  • Convertim din baza 10 – virgul ă fix ă î n baza 2 virgul ă fix ă:
                .09375 ×                   2   =   0.1875
                .1875 ×                    2   =   0.375
                .375               ×       2   =   0.75
                .75                    ×   2   =   1.5
                .5                         ×   2   =        1.0
  • Rezult ă : (.09375) 10 = (.00011) 2 .
  • Î n final, convertim î n forma normalizat ă î n baza 2 –
    virgul ă mobil ă:
Arhitectura Sistemelor de Calcul
2-                                Reprezentarea datelor
 26

   Formatul IEEE-754 pentru numere
          î n virgulă mobil ă




Arhitectura Sistemelor de Calcul
2-                                                   Reprezentarea datelor
 27

                                   Exemple IEEE-754




Arhitectura Sistemelor de Calcul
2-                                                     Reprezentarea datelor
 28

       Exemplu de conversie IEEE-754
  • Reprezenta ţ i -12.625 10 î n format IEEE-754 cu precizie
    simplă.
  • Pasul #1: Se converte ş te î n baza ţ int ă -12.625 10 =
    -1100.101 2
  • Pasul #2: Normalizare -1100.101 2 = -1.100101 2 × 2 3

  • Pasul #3: Se completeaz ă bi ţ ii . Semnul este negativ, a ş a c ă
    bitul de semn este 1 . Exponentul este î n format exces 127
    (nu î n exces 128!), a ş a c ă exponentul este reprezentat ca
    numă rul fă r ă semn 3 + 127 = 130.
  Primul bit al significandului cu valoarea 1 este ascuns a ş a
   că, secven ţ a de bi ţ i este :
         1 1000 0010 . 1001 0100 0000 0000 0000 000
Arhitectura Sistemelor de Calcul
2-                                     Reprezentarea datelor
   29

                  Efectul pierderii preciziei
Conform guvernului
  SUA, î n timpul
  opera ţ iunii
  “Furtun ă î n
  de ş ert” 1991-1992,
   pierderea
  preciziei la
  conversia unui
  numă r din
  reprezentarea
  î ntreg pe 24 de
  biţ i î n num ă r real
  pe 24 de bi ţ i a fost
  cauza e ş ecului
  unui sistem anti-
  rachete Patriot
  (radar). S-a soldat
  cu 28 de americani
 Arhitectura Sistemelor de Calcul
  morţ i (25 Feb.
2-                                        Reprezentarea datelor
 30

                     Codul de caractere ASCII
• ASCII este un cod pe
  7 biţ i, stocat î ntr-un
  octet (8 biţ i) .
• “A” este la poziţ ia
  41 16 . Pentru a
  converti litere mari
  î n litere mici se
  adun ă 20 16 . Astfel “a”
  este la pozi ţ ia 41 16 +
  20 16 = 61 16 .

• Caracterul “5” este la
  poziţ ia 35 16 este
  diferit de num ă rul 5.
  Pentru a coverti
  “caracterele-cifr ă ” î n
  cifrele
  corespunz ă toare
  trebuie sc ă zut 30 16 :
  35 16 - 30 16 = 5.
Arhitectura Sistemelor de Calcul
2-                                Reprezentarea datelor
 31



      Codul de
      caractere
       EBCDIC
  • EBCDIC este
    un cod pe 8
    biţ i




Arhitectura Sistemelor de Calcul
2-                                Reprezentarea datelor
 32




  Codul de
  caractere
   Unicode

   • Unicode este
     un cod pe 16
     biţ i




Arhitectura Sistemelor de Calcul
2-                                            Reprezentarea datelor
 33




                           Test de verificare a
                             cunoş tin ţ elor la
                          Reprezentarea datelor




                                   Nov. 2009



Arhitectura Sistemelor de Calcul
2-                                       Reprezentarea datelor
 34



  1.

           Converti ţ i numerele:
           a. (47) 10 în reprezentarea binar
              fă ră semn
           b. (2C3) 16 în baza 10
           c. (10110.101) 2 în baza 10


Arhitectura Sistemelor de Calcul
2-                                          Reprezentarea datelor
 35



  2.

           Converti ţ i numerele:
           d. (55.875) 10 în binar f ă r ă semn
           e. (-27) 10 în exces 32 pe 6 bi ţ i




Arhitectura Sistemelor de Calcul
2-                                         Reprezentarea datelor
 36



  3.

           f. Secven ţ a de bi ţ i 1000 este
              reprezentat ă în complement
              fa ţă de 2 pe 4 bi ţ i. Cât este
              valoarea zecimal ă ?




Arhitectura Sistemelor de Calcul
2-                                         Reprezentarea datelor
 37



  4.

           g. Scrie ţ i reprezentarea lui (305) 10
              pe 4 cifre BCD ş i
           h. reprezentarea lui (-305) 10 tot pe
              4 cifre BCD în complement fa ţă
              de 10




Arhitectura Sistemelor de Calcul
2-                                             Reprezentarea datelor
 38



  5.
           i. Numă rul -1.0101 x 2 -2 este
              reprezentat în baza 2 nota ţ ie
              ş tiinţ ifică . Scrie ţ i reprezentarea
              binar ă în virgul ă mobil ă a acestui
              numă r pe 8 bi ţ i ş tiind c ă bitul cel
              mai semnificativ este bit de semn,
              urmă torii trei bi ţ i reprezint ă
              exponentul reprezentat în exces 3
              iar ultimii 4 bi ţ i, cei mai pu ţ in
              semnificativi, reprezint ă partea
              fracţ ionar ă normalizat ă un bit fiind
              ascuns. Bitul ascuns este în partea
              dreapt ă a punctului zecimal.
Arhitectura Sistemelor de Calcul
2-                                        Reprezentarea datelor
 39




                                   GATA!




Arhitectura Sistemelor de Calcul
2-                                                        Reprezentarea datelor
 40



       R ă spunsuri:
         a.       (47) 10 = (101111) 2
         b.       (2C3) 16 = (707) 10
         c.       (10110.101) 2 = (181/8) 10
         d.      (55.875) 10 = (110111.111) 2
         e.      (-27) 10 = (000101) 2 în exces 32
         f.      (1000) 2 = -8 (complement fa ţă de 2 pe 4 bi ţ i)
         g.      (305) 10 = 0011 0000 0101 (BCD)
         h.      (-305) 10 = 0110 1001 0101 (BCD complement fa ţă
                 de 10)
         i.      -1.0101 x 2 -2 = 1 001 0101




Arhitectura Sistemelor de Calcul

More Related Content

What's hot (13)

T 1 grafuri_2017_2018_sem_ii_rezolvat
T 1 grafuri_2017_2018_sem_ii_rezolvatT 1 grafuri_2017_2018_sem_ii_rezolvat
T 1 grafuri_2017_2018_sem_ii_rezolvat
 
Probleme grafuri arbori
Probleme grafuri arboriProbleme grafuri arbori
Probleme grafuri arbori
 
Curs7 econometrie regr_neliniara 2013
Curs7 econometrie regr_neliniara 2013Curs7 econometrie regr_neliniara 2013
Curs7 econometrie regr_neliniara 2013
 
Manualul absolventului de profil electric electronica digitala (ovidiu spatar...
Manualul absolventului de profil electric electronica digitala (ovidiu spatar...Manualul absolventului de profil electric electronica digitala (ovidiu spatar...
Manualul absolventului de profil electric electronica digitala (ovidiu spatar...
 
Tablouri bidimensionale
Tablouri bidimensionaleTablouri bidimensionale
Tablouri bidimensionale
 
Lucr2
Lucr2Lucr2
Lucr2
 
Proiect nr complexe (1)
Proiect nr complexe (1)Proiect nr complexe (1)
Proiect nr complexe (1)
 
Vectori
VectoriVectori
Vectori
 
Tipul tablou
Tipul tablouTipul tablou
Tipul tablou
 
Tipuri de date simple
Tipuri de date simpleTipuri de date simple
Tipuri de date simple
 
Algoritmi 6 a
Algoritmi   6 aAlgoritmi   6 a
Algoritmi 6 a
 
C4 regr lin multipla
C4 regr lin multiplaC4 regr lin multipla
C4 regr lin multipla
 
Opt
OptOpt
Opt
 

Similar to Ch02 poca r (7)

Manualul absolventului de profil electric Electronica digitala (Ovidiu Spatar...
Manualul absolventului de profil electric Electronica digitala (Ovidiu Spatar...Manualul absolventului de profil electric Electronica digitala (Ovidiu Spatar...
Manualul absolventului de profil electric Electronica digitala (Ovidiu Spatar...
 
E d informatica_2020_sp_mi_c_var_test_01
E d informatica_2020_sp_mi_c_var_test_01E d informatica_2020_sp_mi_c_var_test_01
E d informatica_2020_sp_mi_c_var_test_01
 
E d informatica_2020_sp_sn_c_var_test_03
E d informatica_2020_sp_sn_c_var_test_03E d informatica_2020_sp_sn_c_var_test_03
E d informatica_2020_sp_sn_c_var_test_03
 
Proiect tic a_2b_vaicar_sergiu
Proiect tic a_2b_vaicar_sergiuProiect tic a_2b_vaicar_sergiu
Proiect tic a_2b_vaicar_sergiu
 
Aplicatia Calculator
Aplicatia CalculatorAplicatia Calculator
Aplicatia Calculator
 
E d informatica_2020_sp_mi_c_var_test_08
E d informatica_2020_sp_mi_c_var_test_08E d informatica_2020_sp_mi_c_var_test_08
E d informatica_2020_sp_mi_c_var_test_08
 
Microsoft Excel
Microsoft ExcelMicrosoft Excel
Microsoft Excel
 

Ch02 poca r

  • 1. 2-1 Reprezentarea datelor Arhitectura calculatoarelor Reprezentarea datelor Con ţ inuturi 1. Introducere 2. Reprezentarea numerelor î n virgul ă fix ă 3. Reprezentarea numerelor î n virgul ă mobil ă 4. Studiu de caz: E ş ecul rachetelor Patriot datorat pierderii preciziei 5. Coduri de caractere Arhitectura Sistemelor de Calcul
  • 2. 2-2 Reprezentarea datelor Numere cu virgul ă fix ă • Folosind doar dou ă cifre pentru precizia numerelor cu semn î n baza 10, intervalul de valori ce pot fi reprezentate este [-99, +99] iar precizia (distan ţ a dintre dou ă numere succesive) este 1. • Eroarea maxim ă , adic ă diferen ţ a dintre valoarea unui numă r real ş i cel mai apropiat î ntreg este jum ă tatea din precizie. Pentru cazul nostru, eroarea este ½ x 1 = 0.5. • Dac ă alegem a = 70, b = 40 ş i c = -30, atunci a + (b + c) = 80 (ceea ce este corect) dar (a + b) + c = ? R ă spuns: -20 ceea ce nu este corect . Problema este c ă (a + b) este +110, ceea ce dep ăş e ş te +99, a ş a c ă se re ţ in doar cele dou ă cifre din parte dreapt ă (+10) pentru rezultatul intermediar. Aceasta este o problem ă de care trebuie s ă ţ inem cont câ folosim o reprezentare finit ă Arhitectura Sistemelor de Calcul nd
  • 3. 2-3 Reprezentarea datelor Cod cu ponderi ale pozi ţ iei • Baza unui sistem de numera ţ ie define ş te intervalul de valori posibile pentru cifre: 0 – 9 pentru baza 10 ; 0,1 pentru baza 2. • Formula general ă pentru determinarea valorii zecimale a unui num ă r este: Exemplu: 541.25 10 = 5 × 10 2 + 4 × 10 1 + 1 × 10 0 + 2 × 10 -1 + 5 × 10 -2 = (500) 10 + (40) 10 + (1) 10 + (2/10) 10 + (5/100) 10 Arhitectura Sistemelor de Calcul
  • 4. 2-4 Reprezentarea datelor Conversii de baze cu metoda restului •Exemplu: Conversia lui 23.375 10 î n baza 2. Prima dat ă se converte ş te partea î ntreag ă: Arhitectura Sistemelor de Calcul
  • 5. 2-5 Reprezentarea datelor Conversii de baze cu metoda î nmulţ irii • Conversia p ă r ţ ii frac ţ ionare : •Rezultatul, 23.375 10 = 10111.011 2 Arhitectura Sistemelor de Calcul
  • 6. 2-6 Reprezentarea datelor Fracţ ii î n baza 2 periodice • Nu putem converti î ntotdeauna o frac ţ ie neperiodic ă din baza 10 î ntr-o frac ţ ie periodic ă î n baza 2 (sau alt ă baz ă ) : Arhitectura Sistemelor de Calcul
  • 7. 2-7 Reprezentarea datelor Bazele de numera ţ ie 2, 8, 10, 16 • Exerci ţ iu: Scrie ţ i o coloan ă pentru baza 3 . Converti ţ i 14 10 î n baza 3. Rezultatul trebuie s ă fie 112 3 Arhitectura Sistemelor de Calcul
  • 8. 2-8 Reprezentarea datelor Conversii de baze • Conversia î ntre baze care sunt puteri ale lui doi se poate face foarte simplu: 1011 2 = (10 2 )(11 2 ) = 23 4 23 4 = (2 4 )(3 4 ) = (10 2 )(11 2 ) = 1011 2 101010 2 = (101 2 )(010 2 ) = 52 8 01101101 2 = (0110 2 )(1101 2 ) = 6D 16 • De câ i bi ţ i e nevoie pentru reprezentarea unei cifre î n ţ bazele 2, 4, 8, 16…? Î n baza 2 pentru care 2 = 2 1 , exponentul este 1 a ş a c ă se folose ş te un singur bit . Î n baza 4 pentru care 4 = 2 2 , exponentul este 2, a ş a c ă se folosesc 2 bi ţ i pentru Arhitectura Sistemelor de Calcul oric ă rui num ă r din baza 4, î n baza 8 se reprezentarea
  • 9. 2-9 Reprezentarea datelor Adunare binară Arhitectura Sistemelor de Calcul
  • 10. 2- Reprezentarea datelor 10 Numere cu semn • Dac ă reprezent ă m numere pe 8 bi ţ i , exist ă 2 8 = 256 secven ţ e distincte de bi ţ i de lungime 8 . Aceste secven ţ e de biţ i pot fi interpretate toate ca fiind numere pozitive (0 - 255) sau unele secven ţ e le putem interpreta ca fiind numere negative iar altele pozitive. Jum ă tate le putem considera pozitive iar cealalt ă jum ă tate negative. • Modalit ăţ i de reprezentare : Magnitudine cu semn Complement fa ţă de unu Complement fa ţă de doi Exces Arhitectura Sistemelor de Calcul
  • 11. 2- Reprezentarea datelor 11 Magnitudine cu semn • Bitul cel mai semnificativ este bit de semn (0 = pozitiv, 1 = negativ) iar restul bi ţ ilor reprezint ă magnitudinea . • Exemplu: +2510 = 000110012 -2510 = 100110012 • Exist ă dou ă reprezent ă ri pentru zero: (care sunt?) +0 = 00000000 2 , -0 = 10000000 2 . • Cel mai mare num ă r este +127, cel mai mic num ă r este -127 10 , folosind o reprezentare pe 8 bi ţ i . Arhitectura Sistemelor de Calcul
  • 12. 2- Reprezentarea datelor Complement fa ţă de unu 12 • Bitul cel mai semnificativ este bit de semn (0 = pozitiv, 1 = negativ). Num ă rul negativ se ob ţ ine prin sc ă derea fiec ă rui bit din 2 (complementarea fiec ă rui bit din 0 se transform ă î n 1 ş i din 1 î n 0). Aceast ă opera ţ ie de complementare fa ţă de 1 func ţ ioneaz ă atâ pentru transformarea numerelor t negative î n numere pozitive câ ş i invers. t • Exemplu: +2510 = 000110012 -2510 = 111001102 • Ş i aici exist ă dou ă reprezent ă ri pentru zero : (care sunt ?) +0 = 00000000 2 , -0 = 11111111 2 . • Cel mai mare num ă r este +127 10 , cel mai mic este -127 10 , î n reprezentarea pe 8 bi ţ i . Arhitectura Sistemelor de Calcul
  • 13. 2- Reprezentarea datelor Complement fa ţă de doi 13 • Bitul cel mai semnificativ este bit de semn (0 = pozitiv, 1 = negativ). Num ă rul negativ se ob ţ ine prin adunarea valorii 1 la complementul fa ţă de unu al num ă rului negativ. Aceast ă opera ţ ie de complementare fa ţă de 2 func ţ ioneaz ă atâ pentru transformarea numerelor negative î n numere t pozitive câ ş i invers. t • Exemplu ( -25 10 = 11100110 2 î n complement fa ţă de unu: +2510 = 000110012 -2510 = 111001112 • Exist ă o singur ă reprezentare pentru zero: +0 = 00000000 2 , -0 = 00000000 2 . • Cel mai mare num ă r +127 10 , cel mai mic -128 10 , folosind o reprezentare pe 8 bi ţ i. Arhitectura Sistemelor de Calcul
  • 14. 2- Reprezentarea datelor 14 Reprezentarea î n exces • Cel mai semnificativ bit este bit de semn (de obicei 1 = pozitiv, 0 = negativ). Reprezentarea pozitiv ă ş i negativ ă a unui num ă r se ob ţ ine prin adunarea unei valori la reprezentarea î n complement fa ţă de doi. Aceasta func ţ ioneaz ă î n ambele direc ţ ii pozitiv-negativ, negativ- pozitiv. Efectul este c ă pentru numerele mici se folose ş te un num ă r mai mic de bi ţ i, ceea ce simplific ă compararea numerelor reale. • Exemplu (exces 128 “adun ă ” 128 la complementul fa ţă de doi, ignorâ “transport out” dac ă exist ă la cel mai nd semnificativ bit) : +1210 = 100011002 -1210 = 011101002 • O singur ă reprezentare pentru zero: +0 = 10000000 2 , -0 = 10000000 2 . Arhitectura Sistemelor de Calcul
  • 15. 2- Reprezentarea datelor Reprezent ă ri BCD î n complement 15 fa ţă de 9 ş i 10 • Fiecare cifr ă codificat ă binar (BCD) este format ă din 4 bi ţ i. • Exemplu: Reprezentarea lui +079 10 î n BCD: 0000 0111 1001 • Exemplu: Reprezentarea lui -079 10 î n BCD: 1001 0010 0001. Se ob ţ ine prin sc ă derea din 9 a fiec ă rei cifre a lui 079 pentru a ob ţ ine complementul fa ţă de 9, 999-079 = 920. Adunâ 1 ob ţ inem complementul fa ţă de 10: 920+1=921. nd Convertirea fiec ă rei cifre a num ă rului din baza 10 î n BCD Arhitectura Sistemelor de Calcul ob ţ inem: 1001 0010 0001.
  • 16. 2- Reprezentarea datelor 16 Reprezent ă ri pe 3 bi ţ i a unor î ntregi cu semn Arhitectura Sistemelor de Calcul
  • 17. Numere î n baza zece î n virgul ă 2- Reprezentarea datelor 17 mobilă • Numerele î n virgul ă mobil ă permit reprezentarea unor numere foarte mari ş i a unor numere foarte mici folosind un numă r mic de cifre, f ă câ compromisuri la precizie. nd Precizia este determinat ă de num ă rul de cifre din frac ţ ie (significand, mantis ă ) care are atâ parte î ntreag ă câ ş i t t parte frac ţ ionar ă . Plaja de valori este determinat ă de numă rul de cifre rezervate exponentului . • Exemplu (+6.023 × 10 23 ): Arhitectura Sistemelor de Calcul
  • 18. 2- Reprezentarea datelor 18 Normalizare • Numă rul 254 din baza 10 poate fi reprezentat sub forma î n virgul ă flotant ă (mobil ă ) ca 254 × 10 0 , sau î n mod echivalent ca: 25.4 × 10 1 , sau 2.54 × 10 2 , sau .254 × 10 3 , sau .0254 × 10 4 , sau …. ceea ce creeaz ă probleme la efectuarea compara ţ iilor (fiind atâ de multe forme pentru acela ş i num ă r). t • Numerele î n virgul ă mobil ă sunt de obicei normalizate, adic ă pozi ţ ia punctului zecimal este î ntotdeauna fixat ă pentru un anumit num ă r . • De obicei, reprezentarea normalizat ă plaseaz ă punctul Arhitectura Sistemelor deîCalcul stâ zecimal n nga celei mai semnificative cifre a frac ţ iei , de 3
  • 19. Exemple de numere î n virgul ă 2- Reprezentarea datelor 19 • mobilă ă de virgulă mobilă Reprezentarea lui .254 ×10 sub form 3 normalizat î n baza 8 cu bit de semn, urmat de o reprezentare î n exces 4 cu 3 bi ţ i , urmat de 4 cifre î n baza 8. • Pasul #1: Se converte ş te î n baza ţ int ă .254 × 10 3 = 254 10 . Folosind metoda restului, ob ţ inem 254 10 =376×8 0 : 254/8 = 31 R 6 31/8 = 3 R 7 3/8 = 0 R 3 • Pasul #2: Normalizare: 376 × 8 0 = .376 × 8 3 . • Pasul #3: Se completeaz ă bitul de semn pozitiv 0. Exponentul 3+4=7 (exces 4) , ş i partea frac ţ ionar ă de 4 cifre = .3760: Arhitectura Sistemelor de Calcul
  • 20. 2- Reprezentarea datelor Eroare, interval ş i precizie 20 • Î n exemplul precedent, baza era b = 8, numă rul de cifre semnificative î n frac ţ ie s = 4, cea mai mare valoare pentru exponent M = 3, cea mai mic ă valoare pentru exponent m = -4. • Î n exemplul precedent, nu exist ă o reprezentare explicit ă pentru 0, dar trebuie s ă existe rezervat ă o secven ţă de bi ţ i special ă pentru 0 altfel nu s-ar putea reprezenta valoare 0 fă ră î nc ă lcarea regulii normaliz ă rii. Vom considera secven ţ a 0 000 000 000 000 000 ca fiind reprezentarea pentru 0. • Folosind b, s, M ş i m, vom caracteriza reprezentarea î n virgul ă mobil ă î n termeni de: cel mai mare num ă r pozitiv reprezentabil, cel mai mic num ă r pozitiv ş i diferit de zero ce se poate reprezenta, cea mai mic ă diferen ţă dintre dou ă numere succesive, cea mai mare diferen ţă dintre dou ă numere succesive ş i num ă rul total de numere ce se pot reprezenta. Arhitectura Sistemelor de Calcul
  • 21. 2- Reprezentarea datelor Eroare, interval ş i precizie (cont.) 21 • Cel mai mare num ă r reprezentabil : b M × (1 - b-s) = 8 3 × (1 - 8 -4 ) • Cel mai mic num ă r reprezentabil : b m × b -1 = 8 -4 - 1 = 8 -5 • Cea mai mare diferenţă: bM × b -s = 8 3 - 4 = 8 -1 • Cea mai mic ă diferen ţă: b m × b-s = 8 -4 - 4 = 8 -8 Arhitectura Sistemelor de Calcul
  • 22. 2- Reprezentarea datelor Eroare, interval ş i precizie (cont.) 22 Numă rul Prima cifr ă Restul Bit de de a fracţ iei cifrelor semn exponen ţ i frac ţ iei • Numă rul de numere reprezentabile : Sunt 5 componente: (A) bit-ul de semn; pentru fiecare num ă r, cu excep ţ ia lui zero, exist ă atâ un num ă r pozitiv câ ş i unul negativ ; (B) (M - m) + t t 1 exponen ţ i ; (C) b - 1 valori pentru prima cifră (0 nu este permis ca prim ă cifr ă normalizat ă); (D) bs-1 valori pentru fiecare din cele s-1 cifre ră mase , plus (E) o reprezentare special ă pentru zero . Pentru acest exemplu, cele 5 componente dau: 2 × ((3 - 4) + 1) × (8 - 1) × 8 4-1 + 1 numere ce pot fi reprezentate . Acest num ă r nu trebuie s ă fie mai mare decâ num ă rul de secven ţ e distincte de bi ţ i ce pot fi t generate, adic ă 2 16 . Arhitectura Sistemelor de Calcul
  • 23. Exemple de formate î n virgul ă 2- Reprezentarea datelor 23 mobilă • Cel mai mic num ă r este 1/8 • Cel mai mare num ă r este 7/4 • Cea mai mic ă diferen ţă este 1/32 • Cea mai mare diferen ţă este 1/4 • Num ă rul total de numere reprezentabile este 33. Arhitectura Sistemelor de Calcul
  • 24. 2- 24 Diferen ţ a dintre dou ă numere Reprezentarea datelor depinde de dimensiunea exponentului • Eroarea relativ ă este aproximativ aceea ş i pentru toate numerele. • Dac ă consider ă m raportul dintre o distan ţă mare dintre două numere ş i un num ă r mare respectiv raportul dintre o distan ţă mic ă dintre dou ă numere ş i un num ă r mic vom constata c ă raporturile sunt identice : Distan ţă mare Numă r mare Distan ţă mic ă Numă r mic Arhitectura Sistemelor de Calcul
  • 25. 2- Reprezentarea datelor 25 Exemplu de conversie • Exemplu: Converti ţ i (9.375 × 10 -2 ) 10 î n baza 2, nota ţ ie ş tiin ţ ific ă • Î ncepem prin convertirea din baza 10 - virgul ă flotant ă î n baza 10 virgul ă fix ă prin mutarea punctului zecimal cu dou ă pozi ţ ii la stânga , ceea ce corespunde exponentului -2: . 09375. • Convertim din baza 10 – virgul ă fix ă î n baza 2 virgul ă fix ă: .09375 × 2 = 0.1875 .1875 × 2 = 0.375 .375 × 2 = 0.75 .75 × 2 = 1.5 .5 × 2 = 1.0 • Rezult ă : (.09375) 10 = (.00011) 2 . • Î n final, convertim î n forma normalizat ă î n baza 2 – virgul ă mobil ă: Arhitectura Sistemelor de Calcul
  • 26. 2- Reprezentarea datelor 26 Formatul IEEE-754 pentru numere î n virgulă mobil ă Arhitectura Sistemelor de Calcul
  • 27. 2- Reprezentarea datelor 27 Exemple IEEE-754 Arhitectura Sistemelor de Calcul
  • 28. 2- Reprezentarea datelor 28 Exemplu de conversie IEEE-754 • Reprezenta ţ i -12.625 10 î n format IEEE-754 cu precizie simplă. • Pasul #1: Se converte ş te î n baza ţ int ă -12.625 10 = -1100.101 2 • Pasul #2: Normalizare -1100.101 2 = -1.100101 2 × 2 3 • Pasul #3: Se completeaz ă bi ţ ii . Semnul este negativ, a ş a c ă bitul de semn este 1 . Exponentul este î n format exces 127 (nu î n exces 128!), a ş a c ă exponentul este reprezentat ca numă rul fă r ă semn 3 + 127 = 130. Primul bit al significandului cu valoarea 1 este ascuns a ş a că, secven ţ a de bi ţ i este : 1 1000 0010 . 1001 0100 0000 0000 0000 000 Arhitectura Sistemelor de Calcul
  • 29. 2- Reprezentarea datelor 29 Efectul pierderii preciziei Conform guvernului SUA, î n timpul opera ţ iunii “Furtun ă î n de ş ert” 1991-1992, pierderea preciziei la conversia unui numă r din reprezentarea î ntreg pe 24 de biţ i î n num ă r real pe 24 de bi ţ i a fost cauza e ş ecului unui sistem anti- rachete Patriot (radar). S-a soldat cu 28 de americani Arhitectura Sistemelor de Calcul morţ i (25 Feb.
  • 30. 2- Reprezentarea datelor 30 Codul de caractere ASCII • ASCII este un cod pe 7 biţ i, stocat î ntr-un octet (8 biţ i) . • “A” este la poziţ ia 41 16 . Pentru a converti litere mari î n litere mici se adun ă 20 16 . Astfel “a” este la pozi ţ ia 41 16 + 20 16 = 61 16 . • Caracterul “5” este la poziţ ia 35 16 este diferit de num ă rul 5. Pentru a coverti “caracterele-cifr ă ” î n cifrele corespunz ă toare trebuie sc ă zut 30 16 : 35 16 - 30 16 = 5. Arhitectura Sistemelor de Calcul
  • 31. 2- Reprezentarea datelor 31 Codul de caractere EBCDIC • EBCDIC este un cod pe 8 biţ i Arhitectura Sistemelor de Calcul
  • 32. 2- Reprezentarea datelor 32 Codul de caractere Unicode • Unicode este un cod pe 16 biţ i Arhitectura Sistemelor de Calcul
  • 33. 2- Reprezentarea datelor 33 Test de verificare a cunoş tin ţ elor la Reprezentarea datelor Nov. 2009 Arhitectura Sistemelor de Calcul
  • 34. 2- Reprezentarea datelor 34 1. Converti ţ i numerele: a. (47) 10 în reprezentarea binar fă ră semn b. (2C3) 16 în baza 10 c. (10110.101) 2 în baza 10 Arhitectura Sistemelor de Calcul
  • 35. 2- Reprezentarea datelor 35 2. Converti ţ i numerele: d. (55.875) 10 în binar f ă r ă semn e. (-27) 10 în exces 32 pe 6 bi ţ i Arhitectura Sistemelor de Calcul
  • 36. 2- Reprezentarea datelor 36 3. f. Secven ţ a de bi ţ i 1000 este reprezentat ă în complement fa ţă de 2 pe 4 bi ţ i. Cât este valoarea zecimal ă ? Arhitectura Sistemelor de Calcul
  • 37. 2- Reprezentarea datelor 37 4. g. Scrie ţ i reprezentarea lui (305) 10 pe 4 cifre BCD ş i h. reprezentarea lui (-305) 10 tot pe 4 cifre BCD în complement fa ţă de 10 Arhitectura Sistemelor de Calcul
  • 38. 2- Reprezentarea datelor 38 5. i. Numă rul -1.0101 x 2 -2 este reprezentat în baza 2 nota ţ ie ş tiinţ ifică . Scrie ţ i reprezentarea binar ă în virgul ă mobil ă a acestui numă r pe 8 bi ţ i ş tiind c ă bitul cel mai semnificativ este bit de semn, urmă torii trei bi ţ i reprezint ă exponentul reprezentat în exces 3 iar ultimii 4 bi ţ i, cei mai pu ţ in semnificativi, reprezint ă partea fracţ ionar ă normalizat ă un bit fiind ascuns. Bitul ascuns este în partea dreapt ă a punctului zecimal. Arhitectura Sistemelor de Calcul
  • 39. 2- Reprezentarea datelor 39 GATA! Arhitectura Sistemelor de Calcul
  • 40. 2- Reprezentarea datelor 40 R ă spunsuri: a. (47) 10 = (101111) 2 b. (2C3) 16 = (707) 10 c. (10110.101) 2 = (181/8) 10 d. (55.875) 10 = (110111.111) 2 e. (-27) 10 = (000101) 2 în exces 32 f. (1000) 2 = -8 (complement fa ţă de 2 pe 4 bi ţ i) g. (305) 10 = 0011 0000 0101 (BCD) h. (-305) 10 = 0110 1001 0101 (BCD complement fa ţă de 10) i. -1.0101 x 2 -2 = 1 001 0101 Arhitectura Sistemelor de Calcul