Sunteți pe pagina 1din 11

ARHITECTURA CALCULATOARELOR 2011

CURSUL 2
1.2.2 Organizarea memoriei principale (continuare)
Memoria este alcatuit dintr-un numar de celule (sau locaii), fiecare putnd stoca o parte din
informaie. Fiecare celul are un numar, numit adres, la care programele se pot referi. Dac
o memorie are n locaii, ele vor avea adrese de la 0 la n-1. Toate locaiile dintr-o memorie
contin acelai numr de bii. Dac o locaie conine k bii, atunci ea poate memora 2k
combinaii diferite. Figura urmtoare arat trei moduri diferite de organizare pentru o
memorie de 96 bii. Notai c locaiile alturate au adrese consecutive. Calculatoarele care
folosesc sisteme de numere binare exprim adresele memoriei ca numerele binare. Dac o
adres are m bii, numrul maxim de locaii adresabile este de 2m. De exemplu, o adres care
face referin la memoria din figura 18a are nevoie de cel putin 4 bii pentru a exprima toate
numerele de la 0 la11. O adres cu 3 bii este suficient pentru situaiile din figurile 18b
respectiv 18c. Numrul de bii din adres determin numrul maxim de locaii adresabile
dirtect n memorie i este independent de numrul de bii al fiecrei locaii.
O memorie cu 212 locaii a cte 8 bii fiecare i o memorie cu 1212 locaii a cte 64 bii fiecare
ambele necesit adrese de 12 bii. Numrul de bii pe locaii ale unor calculatoare care au
existat pe pia n timp sunt listate n figura 1.9.
Adresa
0

Adresa
0

Adresa
0

5
16 bii
(b)

11

12 bii
(c)

8 bii
(a)

Figura 1.8 Trei variante de a organiza o memorie de 96 de bii


Calculatoare
Burroughs B1700
IBM PC
DEC PDP-8
IBM 1130
DEC PDP-15
XDS 940
Electrologica X8
XDS Sigma 9
Honeywell 6180
CDC 3600
CDC Cyber

Bii/Celul
1
8
12
16
18
24
27
32
36
48
60

Figura 1.9 Numrul de bii pe celul la unele calculatoare istorice


CURS 2 AC 2011

1/11

Semnificatia celulei este aceea c este cea mai mic unitate adresabil. n ultimii ani, fabricile
de calculatoare au standardizat locaia la 8 bii i au denumit-o byte. Bytes sunt grupai n
words. Un calculator cu 32 bit/word are 4 bytes/ word, iar un calculator cu 64 bit/word are 8
bytes/word. Semnificaia unui cuvant (word) este aceea c majoritatea instruciunilor
opereaz pe un numar ntreg de cuvinte (words), de exemplu grupnd dou cuvinte mpreun.
Deci o main pe 32 bii va avea regitrii de 32 bii i instruciuni pentru manipularea
cuvintelor de 32 bii, iar una pe 64 bii va avea regitrii pe 64 bii i instruciuni pentru
mutarea, adunarea, scderea i alte manipulari pe cuvinte de 64 bii.

1.2.3 Octet ordonat


Un octet ntr-un cuvnt poate fi numrat de la stnga la dreapta sau de la dreapta la stnga. La
nceput acest lucru nu pare a avea importan, dar vom vedea c el are implicaii majore.
Figura 1.10a prezint o parte a memoriei unui calculator pe 32 de bii ai crui octei sunt
numrai de la stnga la dreapta, cum ar fi SPARC sau IBM. Figura 10b arat reprezentarea
analoag la nivel de bit folosind numrarea de la dreapta la stnga, ca la familia Intel.
Sistemele n care numratoarea ncepe cu 'big', adic cu ponderea mare, este denumit generic
big endian, iar celelalte little endian. Se face trimitere la gluma din Gulliver legat de disputa
la care cap trebuie spart oul?!
Adres
0
4
8
12

0
4
8
12

Big endian
1
2
3
5
6
7
9
10
11
13
14
15

Adres
0
4
8
12

Byte
Cuvnt pe 32 de bii

3
7
11
15

Little endian
2
1
0
6
5
4
10
9
8
14
13
12

Byte
Cuvnt pe 32 de bii

(a) Memorie tip big endian

(b) Memorie tip little endian

Figura 1.10 Variante de ordonare a octeilor


Este important de reinut c i n varianta big endian i n varianta little endian valoarea
ntreag 6 se reprezint pe 32 bii prin 110 n cei mai din dreapta 3 bii ai cuvantului i 0 pe
celellte poziii din stnga. n varianta big endian bii 110 sunt n byte-ul 3 (sau 7 sau 11 etc.)
n timp ce la little endian aceeai bii sunt n byte-ul 0 (sau 4 sau 8 etc). n ambele cazuri
cuvntul care conine acest ntreg are adresa 0.
n cazul n carea calculatoarele ar fi stocat numai numere ntregi, nu ar fi fost nici o
problem. Totui, multe aplicaii necesit un amestec de ntregi, iruri de caractere i alte
tipuri de date. Considerai, de exemplu, o simpl nregistrare pentru o persoan, care const
ntr-un ir de caractere (numele angajatului) i dou numere (vrsta i numrul
departamentului). irul este terminat cu unul sau mai muli octei 0, pentru a umple cuvtul.
Reprezentarea big endian este artat n figura 1.11a, reprezentarea little endian este artat
n 1.11b pentru Jim Smith, 21 ani, departamentul 260 (1x256 +4=260).
Ambele reprezentri sunt compatibile cu ele nsele. Problemele ncep atunci cnd una dintre
maini ncearc s trimit nregistrarea celeilalte printr-o reea. S presupunem c big endian
CURS 2 AC 2011

2/11

rimite nregistrarea little endian, octet dup octet, ncepnd cu bitul 0 i terminnd cu bitul 19
(vom fi optimiti i vom presupune c biii octeilor nu s-au inversat prin transmisie, deoarece
avem deja destule probleme). Astfel, octetul 0 al big endian-ului trece n memoria little
endian-ului la octetul 0, i tot asa, ca n figura 1.11c).
Big endian
0 J I M
4 S M I T
8 H 0 0 0
12 0 0 0 21
16 0 0 1 4
a)

Little endian
T
0
0
0

M I J
I M S
0 0 H
0 0 21
0 1 4
b)

Trecerea de la
Trecerea si
big la little endian schimbarea
M I J
J I M
0
T I M S
S M I T 4
0 0 0 H
H 0 0 0 8
21 0 0 0
0 0 0 21 12
4 1 0 0
0 0 1 41 16
c)
d)

Figura 1.11 Exemplu de reprezentare pentru big i little endian


Cnd little endian ncearc s tipreasc un nume, totul funcioneaz bine, dar vrsta iese ca
21x224, iar departamentul este i el alterat. Aceast situaie apare din cauz c transmisia a
inversat ordinea caracterelor dintr-un cuvnt, cum trebuia, dar a schimbat i octeii dintr-un
ntreg, ceea n-ar fi trebuit.
O soluie evident ar fi s inversm prin software octeii dintr-un cuvnt dup efectuarea
transferului. Aceasta conduce la situaia din figura 1.11d, care prelucreaz bine cei doi
ntregi, dar convertete irul n "MIJTIMS", lsndu-l pe H s atrne n aer. Aceast inversare
se produce deoarece cnd l citete, calculatotorul citete prima dat octetul 0 (un spaiu),
apoi bitul 1(M), i tot aa.
Soluia nu este simpl. Un mod care funcioneaz, dar este ineficient, este s includem un
antet naintea fiecrui articol, care s spun ce tip de date urmeaz (ir de caractere, ntregi
sau altele), i ct este de lung. Aceasta permite receptorului s execute numai conversiile
necesare. n orice caz, trebuie s fie clar c lipsa unui standard pentru ordonarea octeilor este
o problem major n cazul schimbului de date ntre maini diferite.
n cele ce urmeaz, vom considera biii dintr-o celul de memorie ca fiind aranjai pe un rnd.
Vom denumi un capt al acestui rnd marginea superioar i cellalt capt marginea
inferioar. Cu toate c ntr-un calculator nu exist stnga sau dreapta, ne vom imagina biii
aranjai ntr-un rnd orientat de la stnga la dreapta cu marginea superioar plasat la stnga.
Bitul de la acest capt este adesea denumit cel mai semnificant bit; similar, bitul de la
cellalt capt este denumit bitul de la marginea inferioar sau cel mai puin semnificativ bit.
Figura 1.12 Organizarea unei celule de memorie cu dimensiune de un octet
Cel mai semnificativ
bit
Marginea superioar

CURS 2 AC 2011

0 1

3/11

Cel mai puin semnificativ


bit
Marginea inferioar

Procednd astfel, putem reprezenta coninutul unei celule cu dimensiune de un octet ca n


figura 1.12.
O consecin inportant a ordonrii celulelor n memoria principal, precum i a biilor n
interiorul fiecrei celule este aceea c toi biii din principal a unui calculator sunt ordonai
ntr-un unic ir lung. Astfel, pri din acest ir pot fi utilizate pentru stocarea de iruri de bii
care pot fi mai mari dect lungimea unei singure celule. n particular, dac memoria este
mprit n celule de dimensiunea unui octet, putem stoca un ir de 16 bii utiliznd pur i
simplu dou celule de memorie consecutive.

1.3 Codificarea utilizat pentru stocarea informaiilor


n cele ce urmeaz vom studia mai n amnunt tehnicile utilizate pentru reprezentarea
informaiilor sub form de iruri de bii.

1.3.1 Reprezentarea simbolurilor


O procedur de reprezentare a datelor ntr-un calculator este aceea de a se proiecta un cod n
care diferite simboluri (cum ar fi literele din alfabet sau semnele de punctuaie) au asociate
modele (abloane) de bii unice i de a stoca apoi informaia sub forma unor propoziii
codificate n memoria principal a calculatorului, respectiv pe un mediu de stocare de mas.
La nceputul utilizrii calculatoarelor, pentru diferite echipamente au fost create i folosite
alte coduri, acest lucru avnd ca efect apariia i proliferarea problemelor de comunicaie.
Pentru a remedia situaia, Institutul American Naional pentru Standarde (American National
Standards Institute - ANSI) a adoptat codul American Standard Code for Information
Interchange (ASCII pronunat aschii), care a devenit extrem de popular. Acest cod
utilizeaz modele cu o lungime de apte bii pentru reprezentarea literelor mari i mici ale
alfabetului englez, semnelor de punctuaie, cifrelor de la 0 la 9, precum i a anumitor
caractere de control cum ar fi trecerea la rndul urmtor (line feed), revenirea la marginea din
stnga textului (carriage return) sau tabulator (tab). n prezent, codul ASCII este adesea
extins la un format de opt bii pe simbol prin adugarea unui zero pe poziia celui mai
semnificativ bit n faa fiecrui model de apte bii al vechiului cod. Aceast tehnic nu
numai c produce un cod ale crui cuvinte au dimensiunea egal cu a unei celule uzuale de
memorie, dar furnizeaz alte 128 abloane suplimentare (care se obin prin plasarea vlorii 1
pe poziia bitului cel mai semnificativ din octet), permind astfel reprezentarea simbolurilor
excluse din codul ASCII iniial. Din nefericire, datorit faptului c n general fabricanii dau
propriile lor interpretri acestor caractere suplimentare, adesea datele care conin abloane
extinse sunt dificil de transferat ntre diferite aplicaii. Figura 1.13 arat c, n acest sistem,
irul de bii 01001000 01100101 01101100 01101100 01101111 00101110 reprezint
mesajul Hello..
Figura 1.13 Mesajul Hello. scris n cod ASCII
01001000 01100101 01101100 01101100 01101111 00101110
H
e
l
l
o
.
Cu toate c n prezent ASCII este cel mai utilizat cod, alte coduri mai puternice capabile s
reprezinte documente scrise ntr-o varietate de limbaje, ctig n popularitate. Unul dintre

CURS 2 AC 2011

4/11

acestea, Unicode, a fost dezvoltat n coooperare de ctre unii dintre cei mai importani
productori de echipamente i programe. El utilizeaz modele de 16 bii pentru reprezentarea
fiecrui simbol. Ca rezultat, codul Unicode conine 65.536 abloane diferite - suficiente
pentru a permite reprezentarea celor mai utilizate ideograme chinezeti i japoneze. Un cod
care va concura probabil cu Unicode este dezvoltat de Organizaia Internaional de
Standarde (International Standard Organiztion - ISO), din care face parte i ANSI.
Utiliznd modele de 32 de bii pentru reprezentarea simbolurilor, acest cod poate reprezenta
peste 17 milioane de simboluri. Rmne de vzut care dintre coduri va ctiga cea mai mare
popularitate.

1.3.2 Reprezentarea valorilor numerice


Dei metoda de stocare a informaiilor sub forma unor caractere codificate este foarte util, ea
este ineficient atunci cnd informaiile care trebuie memorate sunt de natur numeric.
Pentru a nelege de ce se ntmpl acest lucru, s presupunem c vrem s stocm numrul
25. Dac dorim s-l nregistrm sub forma unor simboluri ASCII codificate cu opt bii pe
simbol, ne vor trebui n total 16 bii. Mai mult, cel mai mare numr pe care-l putem stoca
utiliznd 16 bii este 99. O abordare mult mai eficient este stocarea valorii reprezentate n
baza doi (binar).
Figura 1.14 Sistemul zecimal i sisemul binar de numeraie
Reprezentare
3 7 5
Cantitatea asociat poziiei
Unu
Zece
O sut
(a) Sistemul zecimal de numeraie
Reprezentare
1 0 1 1
Cantitatea asociat poziiei
Unu
Doi
Patru
Opt
(b) Sistemul binar de numeraie
Notaia binar este o metod de reprezentare a valorilor numerice folosindu-se numai cifrele
0 i 1 n loc s se utilizeze cifrele 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 i 0 aa cum se procedeaz n
sistemul zecimal (n baza zece). Amintii-v c n cadrul sistemului de numeraie n baza 10
fiecare poziie dintr-un numr are asociat o anumit pondere. n cazul numrului 375,
poziia cifrei 5 este asociat unitilor, cifra 7 se afl pe poziia zecilor, iar 3 pe poziia sutelor

CURS 2 AC 2011

5/11

(figura 1.14a). Fiecare poziie are asociat o pondere de zece ori mai mare dect poziia din
dreapta sa. Valoarea reprezentat de ntreaga expresie se obine nmulindu-se valoarea
fiecrei cifre cu ponderea asociat poziiei ocupat de cifra respectiv n cadrul numrului i
apoi adunndu-se rezultatul nmulirtilor. De exemplu, 375 = 3 X 102 + 7 X 101 + 5 X 1x100.
n notaia binar, poziia fiecrei cifre este de asemenea asociat cu o anumit pondere,
numai c ponderea asociat fiecare poziii este de dou ori mai mare dect ponderea poziiei
din dreapta. Mai exact, cifra cea mai din dreapta a unei reprezentri n binar are asociat
ponderea unu (20), urmtoarea poziie din stnga este asociat cu doi (21), urmtoarea are
ponderea patru (22), urmtoarea este asociat cu opt (23), i aa mai departe. De exemplu, n
cazul reprezentri 1011 n binar, cifra 1 cea mai din dreapta este asociat cu 1, urmtoarea
cifr 1 se afl n poziia asociat cu doi, cifra 0 este asociat cu patru, iar cifra 1 cea mai din
stnga este asociat lui opt (figura 1.14b).
Figura 1.15 Decodificarea reprezentrii binare 100101
Reprezentare binar
1 0 0

Valoarea bitului
1

1
Cantitatea asociat poziiei
1 x unu
=1
0 x doi
=0
1 x patru
=4
0 x opt
=0
0 x aisprezece = 0
1 x treizeci i doi = 32
Total = 37

Pentru a afla valoarea corespunztoare unei reprezentri n binar, vom proceda la fel ca i n
baza zece - vom nmuli valoarea fiecrei cifre cu ponderea asociat poziiei sale i vom
aduna rezultatele. De exemplu, valoarea reprezentat de 100101 este 37, dup cum este artat
n figura 1.15. Observai c de vreme ce notaia binar utilizeaz numai cifrele 0 i 1, acest
proces de nmulire i adunare se reduce doar la adunarea ponderilor asociate poziiilor
ocupate de valoarea 1. Astfel, modelul de bii 1011 reprezint valoarea unsprezece, fiindc
cifrele 1 se afl n poziiile asociate cu ponderile unu, doi i opt.
Observai c secvena reprezentrilor binare obinute prin numrarea de la zero la opt este
urmtoarea:
0
1
10
11
100
101
110
111
1000

CURS 2 AC 2011

6/11

Exist numeroase metode care pot fi utilizate pentru generarea acestei secvene i, dei nu
sunt elegante n ceea ce privete partea teoretic, ele furnizeaz o metod rapid pentru
obinerea reprezentrii n binar a valorilor mici. Una dintre metode este aceea de a ne imagina
contorul de kilometraj al unei maini ale crui roi de afiaj conin numai cifrele 0 i 1.
Contorul pornete din 0 i se rotete la 1 pe msur ce maina se deplaseaz. Apoi, n timp ce
roata contorului trece din 1 n 0, ea va provoca apariia unui 1 la stnga sa, producnd
afiarea lui 10. Valoarea 0 din dreapta se rotete apoi n 1, producnd 11. n acest moment,
trecerea valorii 1 din dreapta n 0 va face ca valoarea 1 din stnga s treac i ea n zero.
Acest fapt va avea ca efect apariia altei cifre 1 n cea de a treia coloan i deci afiarea
valorii 100.
Figura 1.16 Algoritm pentru aflarea reprezentrii n binar a unui numr ntreg pozitiv
Pasul 1: Se mparte valoarea la doi i se memoreaz restul mpririi.
Pasul 2: Ct timp ctul obinut este diferit de zero, se continu mprirea noului ct la doi
memorndu-se restul.
Pasul 3: Cnd s-a obinut un ct egal cu zero, reprezentarea n binar a valorii iniiale
const din resturile mpririlor, afiate de la stnga n care au fost memorate.
Pentru a afla reprezentarea n binar a valorilor mari, vei prefera probabil abordarea mai
sistematic descris de algoritmul din figura 1.16. S aplicm acest algoritm asupra valorii
treisprezece (figura 1.17). Vom mpri mai nti treisprezece la doi obinnd ctul ase i
restul unu. Deoarece ctul nu este egal cu zero, pasul 2 al algoritmului ne indic s l
mprim la doi, obinnd un nou ct cu valoarea trei i restul zero. Noul ct este de asemenea
diferit de zero, aa c l vom mpri din nou la doi, obinnd ctul 1 i restul 1. Vom mpri
din nou i acest ct la doi i obinem ctul zero i restul unu. Cum am obinut un ct cu
valoarea zero, vom trece la pasul 3 al algoritmului, unde vom afla c reprezentarea n binar a
valorii iniiale (13) este 1101.
Figura 1.17 Aplicarea algoritmului din figura 1.12 pentru a se determina reprezentarea n
binar a numrului treisprezece
0
2 1

Rest 1

1
2 3

Rest 1

3
2 6

Rest 0

6
2 13

Rest 1
1 1 0 1

CURS 2 AC 2011

7/11

Reprezentare n binar

S revenim la problema iniial, stocarea datelor numerice. Utiliznd notaia n binar, putem
memora ntr-un octet orice numr ntreg ntre 0 i 255 (ntre 00000000 i 11111111), iar dac
utilizm doi octei putem stoca numere ntregi aflate 0 i 65535. Acest fapt este o
mbuntire spectaculoas fa de posibilitattea de a memora doar numere ntregi de la 0 la
99, ca n cazul codificrii caracterelor ASCII.
Din aceast cauz, precum i din alte motive, se obinuiete ca informaiile numerice s fie
stocate utiliznd o form binar n locul codificrii simbolurilor. Spunem o form a notaiei
binare, deoarece sistemul binar simplu pe care l-am descris reprezint doar fundamentul mai
multor tehnici de stocare utilizate n domeniul calculatoarelor. Unele variante ale sistemului
binar sunt discutate mai trziu n acest capitol. Deocamdat vom reine c pentru stocarea
numerelor ntregi se utilizeaz de obicei un sistem denumit notaia notaia n complement fa
de doi, deoarece acesta pune la dispoziie o metod comod pentru reprezentarea att a
numerelor pozitive ct i a celor negative. Pentru reprezentarea numerelor care conin pri
fracionare ca de exemplu 4 1/2 sau 2 3/4, se utilizeaz alt tehnic, ce poart numele de
reprezentare n virgul mobill. n concluzie, o anumit valoare (cum ar fi 25) poate fi
reprezentat prin diferite modele de bii (sub forma unor coduri de caractere, n notaia n
complement fa de doi sau n notaia n virgul mobil ca 25 0/2); reciproc, un anumit ir de
bii poate fi interpretat n diferite moduri.
S menionm acum alt problem important care apare la sistemele de stocare a valorilor
numerice. Indiferent de lungimea irului de bii pe care-l poate aloca un calculator pentru
stocarea valorii numerice, vor exista totui valori prea mari sau pri fracionare prea mici
pentru a putea fi memorate n spaiul alocat. Ca rezultat va exista ntotdeauna riscul s apar
erori cum ar fi depirea superioar (valori prea mari) sau eroarea de rotunjire (fracii prea
mici), erori care trebuie tratate, pentru a nu se ajunge la situaia ca un utilizator al
calculatorului s fie pus, fr a bnui nimic, n faa unor date eronate.

1.3.3 Reprezentarea altor tipuri de date


Aplicaiile utilizate la calculatoarele de astzi implic i folosirea altor tipuri de date dect
caractere sau numere. Ele utilizeaz imagini, sunete, secvene video. Comparativ cu sistemele
de stocare a caracterelor i valorilor numerice, tehnicile utilizate pentru reprezentarea acestor
tipuri de date suplimentare se afl abia la nceput i deci nu exist nc o standardizare global
acceptat de ntreaga comunitate informatic.
Una dintre metodele rspndite de stocare a imaginilor este considerarea imaginii ca o
colecie de puncte, numite pixel, prescurtarea sintagmei picture element (element de
imagine). n forma cea mai simpl, o imagine alb-negru poate fi codificat ca un lung ir de
bii ce reprezint liniile de pixeli din imagine, unde fiecare bit are valoarea 1 sau 0, n funcie
de culoarea pe care o are pixelul asociat lui (negru sau alb). Reprezentarea imaginilor color
este doar puin mai complicat, deoarece fiecare pixel poate fi reprezentat de o combinaie de
bii care s i indice culoarea.
Reprezentrile de acest tip sunt cunoscute sub numele de hri prin bii (bit maps),ceea ce
nseamn c irul de bii nu este mic mai mult dect o hart a imagini reprezentate. Sistemele
populare de hri de bii include TIFF (Tag Image Format File) i GIF (Graphic Interchange
Format). Fotografiile sunt adesea reprezentate ntr-o hart de bii cunoscut ca JPEG (Joint
Photographic Experts Group). Dezavantajul principal al acestor sisteme este acela c
imaginea nu poate fi scanat la o dimensiune arbitrar. Ea poate fi tiprit la imprimant

CURS 2 AC 2011

8/11

utiliznd un pixel de imprimant pentru a reprezenta un pixel original sau eventual blocuri de
2x2 pixeli de imprimant pentru a reprezenta un pixel din imagine. Ultima metod va
produce o imagine mai mare dect prima, dar o scalare intermediar ar fi dificil de realizat.
Pentru a rezolva problema scalrii, imaginea poate fi memorat ca un set de directive care
precizeaz modul de desenare al imaginii, n loc s se utilizeze o reprezentare pixel cu pixel.
De exemplu, o linie existent n imagine ar putea fi reprezentat prin instruciunea de
desenare a unei linii ntre dou puncte anumite. O asemenea metod las detaliile referitoare
la modul de desenare a liniei n seama dispozitivului care produce imaginea n loc s-i
impun acestuia s reproduc un model particular de pixeli. Ea furnizeaz de asemenea o
descriere compatibil cu orice mrime a unitilor sistemului de coordonate care ar putea fi
specificat atunci cnd se dorete afiarea imaginii.
Diferitele fonturi disponibile pentru imprimantele i monitoarele de astzi sunt reprezentate
de obicei n acest mod, ceea ce ofer flexibilitate la redimensionarea caracterelor; ele se
numesc fonturi scalabile (scalable font). De exemplu, True Type (dezvoltat de Microsoft
i Aplle Computer) este un sistem care indic modul n care s fie desenate simbolurile din
text. De asemenea, PostScript (dezvoltat de Adobe Systems) pune la dispoziie o metod
de descriere a caracterelor i n general a datelor grafice.
De asemenea, tot metode de reprezentare a datelor sunt i MPEG (Motion Picture Experts
Group), o tehnic folosit pentru datele video i audio, i DXF (Drawing Interchange
Format), utilizat la sisteme de proiectare asistat de calculator (Computer Aided Design
CAD) n care imaginile trebuie rotite i redimensionate pe ecranul calculatorului.

1.4 Sistemul binar de numeraie


nainte s studiem tehnicile de stocare a valorilor numerice utilizate n calculatoarele de
astzi, trebuie s aflm mai multe detalii despre sistemul de reprezentare binar.
Figura 1.18 Adunarea a dou numere n binar
0
+0
0

1
+0
1

0
+1
1

1
+1
0

1.4.1 Adunarea n binar


Pentru a aduna dou valori reprezentate n notaie binar, vom ncepe, la fel cum am procedat
cu baza zece n coala primar, prin memorarea regulilor de adunare (figura 1.18), care de
altfel sunt utilizate la adunarea a dou iruri de cifre zecimale. Procedai astfel:
00111010
+00011011

CURS 2 AC 2011

9/11

vom ncepe prin a aduna cifrele 0 i 1 cele mai din dreapta; obinem rezultatul 1, care-l vom
scrie sub coloana respectiv. Vom aduna apoi cifrele 1 i 1 din coloana urmtoare, obinnd
rezultatul 10. Vom scrie 0 sub coloan i vom transfera cifra 1 deasupra coloanei urmtoare.
n acest moment, situaia arat astfel:
1
00111010
+00011011
01
Vom aduna cifrele 1, 0 i 0 din coloana urmtoare, obinnd rezultatul 1 i deci vom scrie 1
sub coloan. Cifrele 1 i 1 din urmtoarea coloan dau ca rezultat al adunrii 10; vom scrie 0
sub coloana respectiv i vom transfera cifra 1 deasupra coloanei urmtoare. n acest
moment, situaia arat astfel :
1
00111010
+00011011
0101
Adunarea cifrelor 1,1 i 1 din coloana urmtoare d ca rezultat 11; vom scrie cifra 1 sub
coloana respectiv i vom transfera cifra 1 deasupra coloanei urmtoare. Vom aduna acest 1
cu cifrele1 i 0 existente deja n aceast coloan i vom obine 10. Din nou vom scrie cifra 0
sub coloan i vom transfera 1 n coloana urmtoare. Avem acum:
1
00111010
+00011011
010101
Vom aduna acum cifrele 1, 0 i 0 din penultima coloan, obinnd rezultatul 1, pe care-l
vom scrie sub coloan, fr a avea ce transfera ctre coloana urmtoare. n sfrit vom aduna
cifrele din ultima coloan, obinnd rezultatul 0 i-l vom scrie sub aceast coloan. Rezultatul
final al adunri este urmtorul:
00111010
+00011011
01010101

CURS 2 AC 2011

10/11

CURS 2 AC 2011

11/11

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