Sunteți pe pagina 1din 40

2-1

Reprezentarea datelor

Arhitectura calculatoarelor
Reprezentarea datelor
Coninuturi
1. 2. 3. 4. Introducere Reprezentarea numerelor n virgul fix Reprezentarea numerelor n virgul mobil Studiu de caz: Eecul 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 (distana dintre dou numere succesive) este 1. Eroarea maxim, adic diferena dintre valoarea unui numr real i cel mai apropiat ntreg este jumtatea 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 = ? Rspuns: -20 ceea ce nu este corect. Problema este c (a + b) este +110, ceea ce depete +99, aa c se rein doar cele dou cifre din parte dreapt (+10) pentru rezultatul intermediar. Aceasta este o problem de care trebuie s inem cont cnd folosim o reprezentare finit pentru numerele reale.
Arhitectura Sistemelor de Calcul

2-3

Reprezentarea datelor

Cod cu ponderi ale poziiei


Baza unui sistem de numeraie definete intervalul de valori posibile pentru cifre: 0 9 pentru baza 10; 0,1 pentru baza 2. Formula general pentru determinarea valorii zecimale a unui numr este:

Exemplu: 541.2510 = 5 102 + 4 101 + 1 100 + 2 10-1 + 5 10-2

= (500)10 + (40)10 + (1)10 + (2/10)10 + (5/100)10


= (541.25)10
Arhitectura Sistemelor de Calcul

2-4

Reprezentarea datelor

Conversii de baze cu metoda restului


Exemplu: Conversia lui 23.37510 n baza 2. Prima dat se convertete partea ntreag:

Arhitectura Sistemelor de Calcul

2-5

Reprezentarea datelor

Conversii de baze cu metoda nmulirii


Conversia prii fracionare:

Rezultatul, 23.37510 = 10111.0112


Arhitectura Sistemelor de Calcul

2-6

Reprezentarea datelor

Fracii n baza 2 periodice


Nu putem converti ntotdeauna o fracie neperiodic din baza 10 ntr-o fracie periodic n baza 2 (sau alt baz):

Arhitectura Sistemelor de Calcul

2-7

Reprezentarea datelor

Bazele de numeraie 2, 8, 10, 16


Exerciiu: Scriei o coloan pentru baza 3. Convertii 1410 n baza 3. Rezultatul trebuie s fie 1123

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: 10112 = (102)(112) = 234

234 = (24)(34) = (102)(112) = 10112


1010102 = (1012)(0102) = 528 011011012 = (01102)(11012) = 6D16 De ci bii e nevoie pentru reprezentarea unei cifre n bazele 2, 4, 8, 16?

n baza 2 pentru care 2 = 21, exponentul este 1 aa c se folosete un singur bit. n baza 4 pentru care 4 = 22, exponentul este 2, aa c se folosesc 2 bii pentru reprezentarea oricrui numr din baza 4, n baza 8 se folosesc 3 cifre binare iar n baza 16 se folosesc 4.
Arhitectura Sistemelor de Calcul

2-9

Reprezentarea datelor

Adunare binar

Arhitectura Sistemelor de Calcul

2-10

Reprezentarea datelor

Numere cu semn
Dac reprezentm numere pe 8 bii, exist 28 = 256 secvene distincte de bii de lungime 8. Aceste secvene de bii pot fi interpretate toate ca fiind numere pozitive (0 - 255) sau unele secvene le putem interpreta ca fiind numere negative iar altele pozitive. Jumtate le putem considera pozitive iar cealalt jumtate negative. Modaliti de reprezentare: Magnitudine cu semn Complement fa de unu Complement fa de doi Exces

Arhitectura Sistemelor de Calcul

2-11

Reprezentarea datelor

Magnitudine cu semn
Bitul cel mai semnificativ este bit de semn (0 = pozitiv, 1 = negativ) iar restul biilor reprezint magnitudinea.

Exemplu: +2510 = 000110012 -2510 = 100110012

Exist dou reprezentri pentru zero: (care sunt?) +0 = 000000002, -0 = 100000002. Cel mai mare numr este +127, cel mai mic numr este -12710, folosind o reprezentare pe 8 bii.
Arhitectura Sistemelor de Calcul

2-12

Reprezentarea datelor

Complement fa de unu
Bitul cel mai semnificativ este bit de semn (0 = pozitiv, 1 = negativ). Numrul negativ se obine prin scderea fiecrui bit din 2 (complementarea fiecrui bit din 0 se transform n 1 i din 1 n 0). Aceast operaie de complementare fa de 1 funcioneaz att pentru transformarea numerelor negative n numere pozitive ct i invers. Exemplu: +2510 = 000110012 -2510 = 111001102 i aici exist dou reprezentri pentru zero: (care sunt ?) +0 = 000000002, -0 = 111111112. Cel mai mare numr este +12710, cel mai mic este -12710, n reprezentarea pe 8 bii.
Arhitectura Sistemelor de Calcul

2-13

Reprezentarea datelor

Complement fa de doi
Bitul cel mai semnificativ este bit de semn (0 = pozitiv, 1 = negativ). Numrul negativ se obine prin adunarea valorii 1 la complementul fa de unu al numrului negativ. Aceast operaie de complementare fa de 2 funcioneaz att pentru transformarea numerelor negative n numere pozitive ct i invers. Exemplu ( -2510 = 111001102 n complement fa de unu:

+2510 = 000110012
-2510 = 111001112 Exist o singur reprezentare pentru zero: +0 = 000000002, -0 = 000000002. Cel mai mare numr +12710, cel mai mic -12810, folosind o reprezentare pe 8 bii.
Arhitectura Sistemelor de Calcul

2-14

Reprezentarea datelor

Reprezentarea n exces
Cel mai semnificativ bit este bit de semn (de obicei 1 = pozitiv, 0 = negativ). Reprezentarea pozitiv i negativ a unui numr se obine prin adunarea unei valori la reprezentarea n complement fa de doi. Aceasta funcioneaz n ambele direcii pozitivnegativ, negativ-pozitiv. Efectul este c pentru numerele mici se folosete un numr mai mic de bii, ceea ce simplific compararea numerelor reale. Exemplu (exces 128 adun 128 la complementul fa de doi, ignornd transport out dac exist la cel mai semnificativ bit) : +1210 = 100011002 -1210 = 011101002

O singur reprezentare pentru zero: +0 = 100000002, -0 = 100000002.


Cel mai mare numr +12710, cel mai mic -12810, pe 8 bii.
Arhitectura Sistemelor de Calcul

2-15

Reprezentarea datelor

Reprezentri BCD n complement fa de 9 i 10


Fiecare cifr codificat binar (BCD) este format din 4 bii.

Exemplu: Reprezentarea lui +07910 n BCD: 0000 0111 1001 Exemplu: Reprezentarea lui -07910 n BCD: 1001 0010 0001. Se obine prin scderea din 9 a fiecrei cifre a lui 079 pentru a obine complementul fa de 9, 999-079 = 920. Adunnd 1 obinem complementul fa de 10: 920+1=921. Convertirea fiecrei cifre a numrului din baza 10 n BCD obinem: 1001 0010 0001.
Arhitectura Sistemelor de Calcul

2-16

Reprezentarea datelor

Reprezentri pe 3 bii a unor ntregi cu semn

Arhitectura Sistemelor de Calcul

2-17

Reprezentarea datelor

Numere n baza zece n virgul mobil


Numerele n virgul mobil permit reprezentarea unor numere foarte mari i a unor numere foarte mici folosind un numr mic de cifre, fcnd compromisuri la precizie. Precizia este determinat de numrul de cifre din fracie (significand, mantis) care are att parte ntreag ct i parte fracionar. Plaja de valori este determinat de numrul de cifre rezervate exponentului. Exemplu (+6.023 1023):

Arhitectura Sistemelor de Calcul

2-18

Reprezentarea datelor

Normalizare
Numrul 254 din baza 10 poate fi reprezentat sub forma n virgul flotant (mobil) ca 254 100, sau n mod echivalent ca: 25.4 101, sau

2.54 102, sau


.254 103, sau .0254 104, sau .

ceea ce creeaz probleme la efectuarea comparaiilor (fiind att de multe forme pentru acelai numr).
Numerele n virgul mobil sunt de obicei normalizate, adic poziia punctului zecimal este ntotdeauna fixat pentru un anumit numr. De obicei, reprezentarea normalizat plaseaz punctul zecimal n stnga celei mai semnificative cifre a fraciei, de ex. .254 103.
Arhitectura Sistemelor de Calcul

2-19

Reprezentarea datelor

Exemple de numere n virgul mobil


Reprezentarea lui .254 103 sub form de virgul mobil normalizat n baza 8 cu bit de semn, urmat de o reprezentare n exces 4 cu 3 bii, urmat de 4 cifre n baza 8. Pasul #1: Se convertete n baza int .254 103 = 25410. Folosind metoda restului, obinem 25410=37680: 254/8 = 31 R 6 31/8 = 3 R 7 3/8 = 0 R 3 Pasul #2: Normalizare: 376 80 = .376 83. Pasul #3: Se completeaz bitul de semn pozitiv 0. Exponentul 3+4=7 (exces 4), i partea fracionar de 4 cifre = .3760:

0 111 . 011 111 110 000


Arhitectura Sistemelor de Calcul

2-20

Reprezentarea datelor

Eroare, interval i precizie


n exemplul precedent, baza era b = 8, numrul de cifre semnificative n fracie 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 bii special pentru 0 altfel nu s-ar putea reprezenta valoare 0 fr nclcarea regulii normalizrii. Vom considera secvena 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 numr pozitiv reprezentabil, cel mai mic numr 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 numrul total de numere ce se pot reprezenta.

Arhitectura Sistemelor de Calcul

2-21

Reprezentarea datelor

Eroare, interval i precizie (cont.)


Cel mai mare numr reprezentabil: bM (1 - b-s) = 83 (1 - 8-4)

Cel mai mic numr reprezentabil: bm b-1 = 8-4 - 1 = 8-5

Cea mai mare diferen: bM b-s = 83 - 4 = 8-1

Cea mai mic diferen: bm b-s = 8-4 - 4= 8-8

Arhitectura Sistemelor de Calcul

2-22

Reprezentarea datelor

Eroare, interval i precizie (cont.)

Bit de semn

Numrul de exponeni

Prima cifr a fraciei

Restul cifrelor fraciei

Numrul de numere reprezentabile: Sunt 5 componente: (A) bit-ul de semn; pentru fiecare numr, cu excepia lui zero, exist att un numr pozitiv ct i unul negativ; (B) (M - m) + 1 exponeni; (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 rmase, plus (E) o reprezentare special pentru zero. Pentru acest exemplu, cele 5 componente dau: 2 ((3 - 4) + 1) (8 - 1) 84-1 + 1 numere ce pot fi reprezentate. Acest numr nu trebuie s fie mai mare dect numrul de secvene distincte de bii ce pot fi generate, adic 216.
Arhitectura Sistemelor de Calcul

2-23

Reprezentarea datelor

Exemple de formate n virgul mobil

Cel mai mic numr este 1/8 Cel mai mare numr este 7/4 Cea mai mic diferen este 1/32 Cea mai mare diferen este 1/4 Numrul total de numere reprezentabile este 33.
Arhitectura Sistemelor de Calcul

2-24

Diferena dintre dou numere depinde de dimensiunea exponentului


Eroarea relativ este aproximativ aceeai pentru toate numerele. Dac considerm raportul dintre o distan mare dintre dou numere i un numr mare respectiv raportul dintre o distan mic dintre dou numere i un numr mic vom constata c raporturile sunt identice: Distan mare Numr mare Distan mic Numr mic

Reprezentarea datelor

Arhitectura Sistemelor de Calcul

2-25

Reprezentarea datelor

Exemplu de conversie
Exemplu: Convertii (9.375 10-2)10 n baza 2, notaie tiinific ncepem prin convertirea din baza 10 - virgul flotant n baza 10 virgul fix prin mutarea punctului zecimal cu dou poziii la stnga, ceea ce corespunde exponentului -2: .09375.

Convertim din baza 10 virgul fix n baza 2 virgul fix:


.09375 .1875 2 2 = = 0.1875 0.375

.375
.75 .5

=
2 2

0.75
= = 1.5 1.0

Rezult: (.09375)10 = (.00011)2.


n final, convertim n forma normalizat n baza 2 virgul mobil:

.00011 = .00011 20 = 1.1 2-4


Arhitectura Sistemelor de Calcul

2-26

Reprezentarea datelor

Formatul IEEE-754 pentru numere n virgul mobil

Arhitectura Sistemelor de Calcul

2-27

Reprezentarea datelor

Exemple IEEE-754

Arhitectura Sistemelor de Calcul

2-28

Reprezentarea datelor

Exemplu de conversie IEEE-754


Reprezentai -12.62510 n format IEEE-754 cu precizie simpl. Pasul #1: Se convertete n baza int -12.62510 = -1100.1012

Pasul #2: Normalizare -1100.1012 = -1.1001012 23


Pasul #3: Se completeaz biii. Semnul este negativ, aa c bitul de semn este 1. Exponentul este n format exces 127 (nu n exces 128!), aa c exponentul este reprezentat ca numrul fr semn 3 + 127 = 130. Primul bit al significandului cu valoarea 1 este ascuns aa c, secvena de bii este:

1 1000 0010 . 1001 0100 0000 0000 0000 000

Arhitectura Sistemelor de Calcul

2-29

Reprezentarea datelor

Efectul pierderii preciziei


Conform guvernului SUA, n timpul operaiunii Furtun n deert 19911992, pierderea preciziei la conversia unui numr din reprezentarea ntreg pe 24 de bii n numr real pe 24 de bii a fost cauza eecului unui sistem anti-rachete Patriot (radar). S-a soldat cu 28 de americani mori (25 Feb. 1991).
Arhitectura Sistemelor de Calcul

2-30

Reprezentarea datelor

Codul de caractere ASCII


ASCII este un cod pe 7 bii, stocat ntr-un octet (8 bii). A este la poziia 4116. Pentru a converti litere mari n litere mici se adun 2016. Astfel a este la poziia 4116 + 2016 = 6116.

Caracterul 5 este la poziia 3516 este diferit de numrul 5. Pentru a coverti caracterelecifr n cifrele corespunztoare trebuie sczut 3016: 3516 - 3016 = 5.

Arhitectura Sistemelor de Calcul

2-31

Reprezentarea datelor

Codul de caractere EBCDIC


EBCDIC este un cod pe 8 bii

Arhitectura Sistemelor de Calcul

2-32

Reprezentarea datelor

Codul de caractere Unicode


Unicode este un cod pe 16 bii

Arhitectura Sistemelor de Calcul

2-33

Reprezentarea datelor

Test de verificare a cunotinelor la Reprezentarea datelor

Nov. 2009

Arhitectura Sistemelor de Calcul

2-34

Reprezentarea datelor

1.
Convertii numerele:
a. (47)10 n reprezentarea binar fr semn b. (2C3)16 n baza 10 c. (10110.101)2 n baza 10

Arhitectura Sistemelor de Calcul

2-35

Reprezentarea datelor

2.
Convertii numerele:
d. (55.875)10 n binar fr semn e. (-27)10 n exces 32 pe 6 bii

Arhitectura Sistemelor de Calcul

2-36

Reprezentarea datelor

3.
f. Secvena de bii 1000 este reprezentat n complement fa de 2 pe 4 bii. Ct este valoarea zecimal?

Arhitectura Sistemelor de Calcul

2-37

Reprezentarea datelor

4.
g. Scriei 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-38

Reprezentarea datelor

5.
i. Numrul -1.0101 x 2-2 este reprezentat n baza 2 notaie tiinific. Scriei reprezentarea binar n virgul mobil a acestui numr pe 8 bii tiind c bitul cel mai semnificativ este bit de semn, urmtorii trei bii reprezint exponentul reprezentat n exces 3 iar ultimii 4 bii, cei mai puin semnificativi, reprezint partea fracionar normalizat un bit fiind ascuns. Bitul ascuns este n partea dreapt a punctului zecimal.
Arhitectura Sistemelor de Calcul

2-39

Reprezentarea datelor

GATA!

Arhitectura Sistemelor de Calcul

2-40

Reprezentarea datelor

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

Arhitectura Sistemelor de Calcul

S-ar putea să vă placă și