Curs PDN, Bazele Aritmeticii

Descărcați ca pdf sau txt
Descărcați ca pdf sau txt
Sunteți pe pagina 1din 72

CURS PDN

BAZELE ARITMETICII

1.1. Sisteme de numeraie


Prin sistem de numeraie se nelege totalitatea regulilor de reprezentare
ale numerelor cu ajutorul simbolurilor denumite cifre.
Sistemele de numeraie pot fi poziionale sau nepoziionale. Un exemplu
de sistem poziional este sistemul zecimal, iar un sistem nepoziional
este cel roman. ntr-un sistem poziional, un numr N cu parte ntreag i
parte fracionar, separate prin virgul, se poate scrie sub oricare din
urmtoarele forme:

ntr-un sistem de numeraie, cifra este un simbol care reprezint


o cantitate ntreag. Numrul de simboluri permise pentru
reprezentarea cifrei ntr-un sistem de numeraie se numete baza
sau rdcina sistemului de numeraie. Cifrele ai reprezint
coeficienii cu care se nmulesc puterile qi ale bazei q n
dezvoltarea polinomial a numrului pentru obinerea valorii sale.
Cifra an-1 din relaiile (1.1) i (1.2) este cifra cea mai semnificativ
(c.m.s.) a numrului, iar cifra a-m este cifra cea mai puin
semnificativ (c.m.p.s.). n cazul sistemului de numeraie binar,
pentru cifra binar se folosete prescurtarea de bit. Dac m = 0,
numrul N este ntreg. Dac n = 0, numrul N este fracionar i
subunitar. Dac m i n sunt ntregi i diferii de zero, numrul N
este mixt.

Relaia (1.2) explic de ce astfel de sisteme de numeraie sunt denumite


poziionale. Fiecare cifr ai contribuie la valoarea numrului respectiv cu
o pondere dat de puterea i a bazei q.
Pentru un sistem de numeraie n baza q trebuie s existe q simboluri. La
sistemele de numeraie cu baza q > 10 se introduc simboluri noi.
De exemplu, pentru sistemul hexazecimal se introduc literele de la A la
F.
Reprezentarea primelor 16 numere n sistemul zecimal, binar i
hexazecimal este dat n Tabelul 1.1.

1.2. Conversia bazei de numeraie

Pentru a deduce o metod sistematic de conversie dintr-un sistem de


numeraie n altul, folosim rezultatul cunoscut c, dac N i q sunt
numere ntregi, exist ntotdeauna un singur ntreg r (care nu este
negativ) mai mic dect q i un singur ntreg C, astfel nct:

1.2.1. Conversia numerelor ntregi

Aplicm aceast regul la conversia unui numr ntreg Np din


baza p n echivalentul su n baza q, adic Nq. Trebuie s
determinm valorile ntregi nenegative a0, a1, , an-1, fiecare mai
mic dect q, astfel ca:

Prin mprire cu baza q obinem:

Deoarece att ctul, ct i restul sunt unici, egalnd prile fracionare avem:

mprind ctul C0 la q i utiliznd rezultatele de mai sus, obinem:

sau

Operaia se continu pn cnd se obine un ct egal cu zero.

Algoritmul de conversie a numerelor ntregi este deci urmtorul:


1. Se mparte numrul iniial Np (n baza p) la noua baz q. Se obine ctul
C0 i restul a0.
2. Se mparte ctul C0 la q. Se obine ctul C1 i restul a1.
3. Se continu pn cnd se obine ctul Cn = 0. Resturile obinute reprezint
cifrele numrului convertit, a0 fiind cifra c.m.p.s.

Exemple
1) Conversie din zecimal n binar

2) Conversie din zecimal n octal

3) Conversie din zecimal n hexazecimal

1.2.2. Conversia numerelor fracionare

Pentru conversia numerelor fracionare subunitare trebuie


determinai coeficienii ntregi nenegativi a-1, a-2, , a-m, fiecare
mai mic dect baza q, astfel nct:

Prin nmulire cu baza q obinem:

unde u-1 este partea ntreag, iar F1 este partea fracionar a valorii
obinute. Deci,

nmulind partea fracionar F1 cu q obinem:

deci:

Operaia se continu pn cnd se obine o parte fracionar egal cu


zero sau se ajunge la precizia cerut.

Algoritmul de conversie a numerelor fracionare este deci urmtorul:


1. Se nmulete numrul iniial Np (n baza p) cu noua baz q. Se obine
partea fracionar F1 i partea ntreag a-1.
2. Se nmulete partea fracionar F1 cu q. Se obine partea fracionar F2
i partea ntreag a-2.
3. Se continu pn cnd se obine partea fracionar Fm = 0 sau se ajunge
la precizia cerut. Cifrele ntregi obinute reprezint cifrele numrului n baza
q, a-1 fiind cifra c.m.s.

Exemple
1) Conversie din zecimal n binar

Operaia se continu fr a se putea ajunge la Fm = 0. Deci, un numr


fracionar finit ntr-un sistem de numeraie nu poate fi reprezentat
ntotdeauna printr-un numr finit ntr-un alt sistem de numeraie.
2) Conversie din zecimal n octal

3) Conversie din zecimal n hexazecimal

Pentru numere fracionare mai mari dect 1, partea ntreag i cea


fracionar se obin separat.
n cazul particular n care baza final q este o putere ntreag a bazei
iniiale p:

se poate utiliza un procedeu mai simplu, deoarece unei cifre n baza q i


corespund r cifre n baza p.
Numrul n baza p se partiioneaz n grupe de cte r cifre, i se
nlocuiete fiecare grup de la dreapta i de la stnga virgulei cu
echivalentul su n baza q.
Astfel, conversia din binar n octal se poate efectua prin nlocuirea
fiecrui grup de 3 cifre binare prin echivalentul su octal, iar conversia
din binar n hexazecimal se poate efectua prin nlocuirea fiecrui grup de
4 cifre binare prin echivalentul su hexazecimal. Dac ultima grup de
cifre binare de la stnga sau de la dreapta virgulei nu este complet, se
adaug zerouri la stnga, respectiv la dreapta, pn la completarea
grupei.
Exemple

n cazul n care baza iniial p este o putere a bazei finale q:


se nlocuiete fiecare cifr n baza p cu r cifre n baza q.

Astfel, conversia din octal n binar i cea din hexazecimal n binar se


efectueaz prin nlocuirea cifrelor octale, respectiv hexazecimale, printrun grup de 3, respectiv 4 cifre binare.
Exemple

Conversia din octal n hexazecimal i din hexazecimal n octal se poate


efectua dup ce s-a efectuat conversia n binar.
Exemple

1.2.3. Conversia binar-zecimal

Conversia unui numr binar ntreg n echivalentul su zecimal se poate


efectua prin metoda nmulirii repetate cu 2, cunoscnd faptul c
operaia se efectueaz n sistemul zecimal. Se consider numrul:

Pentru q = 2 rezult urmtorul algoritm:


1. Se nmulete cifra c.m.s. a numrului binar cu 2, i se adun la rezultat
urmtoarea cifr semnificativ.
2. Se nmulete rezultatul cu 2 i se adun urmtoarea cifr semnificativ.
3. Se continu pn cnd s-a prelucrat i cifra c.m.p.s. a numrului binar.
Rezultatul obinut este echivalentul zecimal al numrului binar dat.
Exemplu

Pentru numere binare fracionare (subunitare) exist factorizarea:

Pentru q = 2 rezult algoritmul:


1. Se mparte cifra c.m.p.s. a numrului binar cu 2, i se adun
urmtoarea cifr semnificativ.
2. Se mparte rezultatul cu 2 i se adun urmtoarea cifr
semnificativ.
3. Se continu pn cnd se efectueaz mprirea care corespunde
cifrei c.m.s. a numrului fracionar.

Exemplu

n practic, aceste operaii se efectueaz mai simplu prin adunarea puterilor


bazei 2.

1.3. Operaii aritmetice cu numere


fr semn
Exemple

n mod similar se poate proceda pentru conversia din hexazecimal n


zecimal.
Exemple

1.3.1. Adunarea

Adunarea a dou cifre n baza q este o operaie modulo q, deci


cifra cu valoarea cea mai mare va fi q-1 (de exemplu, 9 n
zecimal, 1 n binar, F n hexazecimal). Dac rezultatul adunrii a
dou cifre de rang i depete aceast valoare, va apare un
transport ctre rangul i+1, care se va aduna la suma cifrelor de
rang i+1. Apariia unui transport de la cifra c.m.s. indic o
depire a capacitii de reprezentare a rezultatului.

n cazul adunrii binare, cifra sumei este 1 dac unul din termenii
adunrii este 1. Cifra de transport este 1 numai dac ambii termeni ai
adunrii sunt 1. n Tabelul 1.2 se prezint regula de adunare a dou cifre
binare x i y.

Exemple

1.3.2. Scderea
La scderea a dou cifre de rang i, dac cifra desczutului este mai mic
dect cifra scztorului, apare un mprumut de la rangul i+1.
n cazul scderii binare, diferena este 1 dac fie desczutul, fie
scztorul este 1. mprumutul apare numai dac desczutul este 0 i
scztorul este 1. n Tabelul 1.3 se prezint regula de scdere a dou
cifre binare x i y.
Exemple

1.3.3. nmulirea
nmulirea se efectueaz de obicei prin adunarea repetat a unor
produse pariale. La nmulirea a dou cifre binare, produsul este 1
numai dac denmulitul i nmulitorul sunt 1. n Tabelul 1.4 se prezint
regula de nmulire a dou cifre binare x i y.
Exemple

1.3.4. mprirea

mprirea a dou numere nu se poate efectua dac mpritorul este


egal cu zero. Fiind dat dempritul X i mpritorul Y, pentru operaia de
mprire trebuie s se determine ctul Q i restul R, astfel nct s fie
satisfcut relaia:

La mprirea zecimal se determin cifrele ctului prin alegerea unei


cifre i scderea din restul parial (care este iniial o parte a
dempritului) a produsului dintre aceast cifr i mpritor.
Dac rezultatul scderii este un numr pozitiv mai mic dect mpritorul,
cifra aleas este corect. n caz contrar, se alege o alt cifr i operaia
se repet. n fiecare etap a operaiei se obine o cifr a ctului.

n cazul mpririi binare, dac se alege n mod eronat o cifr a ctului, o


nou alegere nu mai este necesar, existnd numai dou cifre. Operaia
de mprire se va reduce la o serie de scderi ale mpritorului din
restul parial, care se efectueaz numai dac restul parial este mai mare
dect mpritorul, caz n care cifra ctului este 1; n caz contrar, cifra
corespunztoare a ctului este 0.

Exemple

1.4. Reprezentarea numerelor n


calculator
Exist mai multe forme de reprezentare a numerelor n calculator, n
funcie de soluia aleas pentru a indica semnul numerelor sau poziia
virgulei.
Numerele reprezentate n calculator pot fi fr semn sau cu semn.
Numerele fr semn sunt reprezentate n binar sau ntr-un cod binar
zecimal. n cazul numerelor cu semn, se utilizeaz o cifr de semn
pentru indicarea semnului. Convenional, se atribuie cifra 0 pentru
semnul plus i cifra 1 pentru semnul minus. Cifra de semn este
reprezentat pe poziia c.m.s. a numrului. Pentru reprezentarea unui
numr binar cu semn de n cifre binare, sunt necesare deci n+1 poziii.
n general, un numr are o parte ntreag i o parte fracionar, separate
prin virgula binar.
Virgula nu se reprezint fizic, dar trebuie cunoscut localizarea ei. Dup
modul de amplasare a virgulei binare, exist dou forme de reprezentare
a numerelor:

Forma cu virgul fix


Forma cu virgul mobil

n forma cu virgul fix, virgula care separ partea ntreag de cea


fracionar este aezat ntr-o poziie bine definit a cuvntului binar.
Exist dou posibiliti de poziionare. Dac virgula este aezat dup
cifra de semn, se opereaz cu numere fracionare, subunitare. Dac
virgula este aezat dup cifra c.m.p.s., se opereaz cu numere ntregi.
n continuare se presupune aceast poziionare, considernd c se
lucreaz cu numere ntregi.

n forma cu virgul mobil, fiecare numr este caracterizat prin dou


valori:
Mantisa, care indic mrimea exact a numrului ntr-un anumit
domeniu;
Exponentul, care indic ordinul de mrime a numrului, fiind puterea
la care se ridic baza mantisei. Exponentul indic deci implicit poziia
virgulei binare.

1.5. Reprezentarea numerelor n


virgul fix
1.5.1. Reprezentarea numerelor cu semn

n continuare se vor nota cu x, y numerele n reprezentarea binar


obinuit, la care se ataeaz semnul. Un numr cu n cifre de mrime se
va scrie sub forma:

De exemplu:
Cu X, Y se vor nota numerele n reprezentarea din calculator, care conin i
cifrele de semn:

Dup modul de exprimare a numerelor negative, exist trei forme uzuale


de reprezentare a numerelor cu semn n virgul fix:
n mrime i semn (MS)
n complement fa de 1 (C1)
n complement fa de 2 (C2)
Pentru toate formele, un numr pozitiv se exprim n acelai fel:

Numrul pozitiv cu semn se reprezint deci adugnd cifra 0 de semn n


faa numrului fr semn:

Considerm pentru simplitate numere cu 4 bii de mrime i un bit de


semn. De exemplu, numrul fr semn 5 se reprezint prin:

iar numrul cu semn +5 prin:

Cea mai simpl form de reprezentare este cea n mrime i semn. Un


numr negativ reprezentat n mrime i semn are expresia:

Deci, numrul negativ se reprezint prin adugarea cifrei 1 de semn n


faa numrului fr semn:

De exemplu, numrul -5 se va reprezenta prin:

Exist mai multe dezavantaje ale acestei reprezentri. Primul dezavantaj


este c adunarea i scderea necesit circuite mai complexe. Al doilea
dezavantaj este c exist dou reprezentri pentru valoarea 0:

De aceea este mai dificil s se testeze dac o valoare este 0 (o operaie


frecvent), dect n cazul n care ar exista o singur reprezentare.
n cazul reprezentrii n complement fa de 1, un numr negativ se
reprezint prin complementul fa de 1 al numrului pozitiv cu aceeai
valoare absolut. Complementul fa de 1 al unui numr binar se obine
prin nlocuirea biilor de 1 cu 0, i a celor de 0 cu 1.
Un numr negativ reprezentat n complement fa de 1 are expresia:

unde reprezint complementul fa de 1 al cifrei xi.

Complementul fa de 1 al unui numr negativ se obine prin


complementarea tuturor cifrelor numrului fr semn i adugarea cifrei
de semn 1:

De exemplu:

Exist i n acest caz dou reprezentri pentru 0:

Un numr negativ reprezentat n complement fa de 2 are


expresia:

Complementul fa de 2 al unui numr se poate obine n mai


multe moduri. O posibilitate o reprezint utilizarea relaiei de
definiie (1.24). De exemplu, considernd n = 4, complementul
fa de 2 al numrului 5 va fi:

O alt posibilitate este obinerea complementului fa de 2 n dou etape:


1. Se obine complementul fa de 1.
2. Se consider rezultatul ca un ntreg fr semn, la care se adun valoarea.

De exemplu:

Practic, complementul fa de 2 al unui numr se poate determina


pornind de la numrul pozitiv cu semn, astfel:
1. Se scriu cifrele numrului ncepnd cu cifra c.m.p.s., neschimbate, pn la
primul 1 inclusiv.
2. Se complementeaz cifrele ntlnite n continuare.

Exist o singur reprezentare pentru 0 n C2. n plus, operaiile de


adunare i scdere se efectueaz cel mai simplu n aceast reprezentare.
Se poate arta c reprezentarea prin C2 conduce la aflarea valorii reale a
numrului, dac cifra de semn se consider negativ.

n Tabelul 1.5 se prezint reprezentarea unor numere cu 4 bii de mrime


i un bit de semn n MS, C1 i C2.

n cazul reprezentrii n MS i C1, gama numerelor care pot fi exprimate


prin n bii de mrime este:

Pentru reprezentarea n C2, aceast gam este:

De exemplu, pentru numere de un octet (7 cifre de mrime i o cifr de


semn), gama pentru reprezentarea n MS i C1 este:

adic:
iar n C2:

1.5.2. Reguli de deplasare ale numerelor cu


semn

De multe ori sunt necesare operaii de deplasare a numerelor cu semn. Aceste


deplasri trebuie efectuate astfel nct s se modifice numai valoarea numerelor,
nu i semnul. Deplasarea la stnga cu o poziie este echivalent nmulirii cu 2, iar
deplasarea la dreapta este echivalent mpririi cu 2 (nmulirii cu 2-1).
Pentru stabilirea regulilor de deplasare, se consider exemplele din Tabelul 1.6.
La deplasare particip numai cifrele de mrime ale numerelor.
n cazul deplasrii numerelor pozitive, n poziiile rmase libere dup
deplasarea la stnga sau la dreapta se introduc cifre de 0.
La numerele negative reprezentate n MS, n poziiile rmase libere dup o
deplasare la stnga sau la dreapta se introduc cifre de 0.
La numerele negative reprezentate n C1, n poziiile rmase libere dup o
deplasare la stnga sau la dreapta se introduc cifre de 1.
La numerele negative reprezentate n C2, n poziiile rmase libere dup o
deplasare la stnga se introduc cifre de 0, iar dup o deplasare la dreapta se
introduc cifre de 1 (deci se repet semnul numrului).

1.5.3. Operaii cu numere reprezentate n


virgul fix
1.5.3.1. Adunarea numerelor reprezentate n C2
Metodele de adunare i scdere a numerelor reprezentate n C2
demonstreaz avantajele acestei reprezentri. Aceste operaii se pot
efectua ca i n cazul numerelor fr semn.
Considerm cteva exemple de adunare. n primele exemple, numerele
sunt de acelai semn.

Rezultatul este corect.

Se obine un numr negativ, deci rezultatul este incorect. Deoarece +20


> 24 = 16, se depete capacitatea de reprezentare a rezultatului.

Rezultatul este corect, deoarece -14 > -24 = -16. Se obine un numr
negativ reprezentat n C2. Apare un transport de la cifra de semn, care
se neglijeaz.

Rezultatul este eronat, deoarece se obine un numr pozitiv.


n exemplele urmtoare, numerele sunt de semne contrare.

n cazul numerelor de semne contrare, rezultatul este ntotdeauna


corect, deoarece nu poate apare depire de capacitate.
Din exemplele prezentate, se poate formula regula general de adunare
a dou numere reprezentate n C2.
Se adun numerele bit cu bit, inclusiv biii de semn, care sunt tratai la fel
cu biii de mrime, i se ignor eventualul transport de la bitul de semn.
Dac rezultatul este negativ, apare ca un numr reprezentat n C2.
Dac rezultatul este mai mare n valoare absolut dect valoarea
maxim care poate fi reprezentat n registru, apare depire (exemplele
b i d). La apariia depirii, UAL trebuie s semnaleze acest fapt, astfel
nct rezultatul s nu fie utilizat.
Se observ c depirea poate apare indiferent dac exist sau nu
transport de la cifra de semn.
Pentru detectarea apariiei depirii, se poate aplica urmtoarea regul
simpl:
La adunarea a dou numere de acelai semn, apare depire dac
i numai dac rezultatul are semn contrar semnului numerelor.

1.5.3.2. Scderea numerelor reprezentate n C2


Scderea a dou numere reprezentate n C2 se poate efectua fie prin
metoda scderii directe, dac se dispune de scztoare elementare, fie
prin metoda adunrii complementului fa de 2, dac se dispune numai
de sumatoare elementare. Se poate enuna urmtoarea regul de
scdere:
Pentru scderea unui numr (scztor) dintr-un altul (desczut), se
calculeaz complementul fa de 2 al scztorului i se efectueaz
adunarea acestuia la desczut.
Se consider urmtorul exemplu.

Regula pentru detectarea depirii poate fi enunat astfel:


La scderea a dou numere de semne contrare apare depire dac i
numai dac rezultatul are acelai semn cu scztorul.

Tema pentru acasa


3.1. Se vor converti urmtoarele numere zecimale n binar, octal i hexazecimal:
a) 78; b) 125; c) 125,34; d) 12,38
3.2. Se vor converti urmtoarele numere binare n octal i hexazecimal:
a) 1010101; b) 1001,011; c) 1110011,10
3.3. Se vor converti urmtoarele numere n binar:
a) 1258; b) ; c) 4708; d) 3E16; e) 12A16; f) 45,E116
3.4. Se vor converti urmtoarele numere binare n zecimal:
a) 1010101; b) 0,1101; c) 10,1011
3.5. Se vor efectua cte dou exemple de adunare i de scdere cu numere binare i
hexazecimale.
3.6. Se vor reprezenta urmtoarele numere negative n MS, C2 i C1:
a) 114; b) 53,25; c) 75,18
3.7. Se vor efectua cte dou exemple de adunare i scdere cu numerereprezentate
n C2.
3.8. Se va deduce regula de adunare a numerelor reprezentate n MS. Se vor
considera cazuri similare cu cele prezentate la adunarea numerelor n C2.

1.6 Reprezentarea numerelor n


virgul mobil
1.6.1. Principii de reprezentare a numerelor n
virgul mobil
n cazul reprezentrii n forma cu virgul fix, poziia virgulei, stabilit prin
proiectare, nu mai poate fi schimbat, cu toate c virgula nu mai este
reprezentat fizic n calculator. Dac virgula este amplasat dup cifra
de semn, se lucreaz cu numere fracionare subunitare. Deoarece nu
toate numerele sunt subunitare, pentru a le aduce la aceast form
trebuie executate o serie de operaii de scalare (multiplicare cu un anumit
factor de scal) sau deplasare, atand numerelor factori de scal.
Evidena acestora trebuie realizat prin program, motiv pentru care
acestea se complic.
Aceast dificultate se poate rezolva utiliznd reprezentarea n virgul
mobil (virgul flotant). n acest caz, factorul de scal devine o parte a
cuvntului din calculator, poziia virgulei variind pentru fiecare numr n
mod automat, ceea ce conduce la simplificarea programelor.

Un numr reprezentat n virgul mobil (VM) are dou componente.


Prima component este mantisa, care indic valoarea exact a
numrului ntr-un anumit domeniu, fiind reprezentat de obicei ca un
numr fracionar cu semn. A doua component este exponentul, care
indic ordinul de mrime al numrului.
Considernd un numr N, reprezentarea acestuia n VM poate avea
forma urmtoare:

unde M este mantisa, B este baza sistemului de numeraie, iar E este


exponentul.
Aceast reprezentare poate fi memorat ntr-un cuvnt binar cu trei
cmpuri: semnul, mantisa i exponentul. De exemplu, presupunnd un
cuvnt de 32 de bii, o asignare posibil a biilor la fiecare cmp poate fi
urmtoarea:

Aceasta este o reprezentare n mrime i semn, deoarece semnul are un


cmp separat fa de restul numrului. Cmpul de semn const dintr-un bit
care indic semnul numrului: 0 pentru un numr pozitiv i 1 pentru un
numr negativ. Nu exist un cmp rezervat pentru baza B, deoarece
aceast baz este implicit i ea nu trebuie memorat, fiind aceeai pentru
toate numerele.
In locul exponentului se reprezint o valoare numit caracteristic, care se
obine prin adunarea unui deplasament la exponent, astfel nct s rezulte
ntotdeauna o valoare pozitiv.
Deci, nu se rezerv un cmp separat pentru semnul exponentului.
Caracteristica C este deci exponentul deplasat:

Valoarea real a exponentului se poate afla prin scderea deplasamentului


din caracteristica numrului. De exemplu, dac pentru caracteristic se
rezerv un cmp de 8 bii, valorile caracteristicii pot fi cuprinse ntre 0 i
255. Cu un deplasament de 128 (80h), exponentul poate lua valori ntre
128 i +127, fiind negativ dac C < 128, pozitiv dac C > 128, i 0 dac C
= 128. Exponentul este deci reprezentat n exces 128.

Reprezentarea cu ajutorul caracteristicii va fi urmtoarea:

n acest caz, semnul mantisei este acelai cu semnul numrului.


Unul din avantajele utilizrii exponentului deplasat const n simplificarea
operaiilor executate cu exponentul, datorit lipsei exponenilor negativi.
Al doilea avantaj se refer la modul de reprezentare al numrului zero.
Mantisa numrului zero are cifre de 0 n toate poziiile. Exponentul
numrului zero poate avea, teoretic, orice valoare, rezultatul fiind tot
zero. n unele calculatoare, dac un rezultat are mantisa zero,
exponentul este lsat la valoarea pe care o are n momentul respectiv,
rezultnd un zero impur.
La majoritatea calculatoarelor, se recomand ca numrul zero s aib
cel mai mic exponent posibil, rezultnd astfel un zero pur. n cazul
exponenilor nedeplasai, exponentul cu cea mai mic valoare este cel
mai mic numr negativ pe care l poate avea exponentul, iar n cazul
exponenilor deplasai, aceast valoare este 0.

Deci, prin utilizarea caracteristicii, reprezentarea n VM a numrului zero


este aceeai cu reprezentarea n VF, adic toate poziiile sunt 0. Aceasta
nseamn c se pot utiliza aceleai circuite pentru testarea valorii zero.
n reprezentarea anterioar, mantisa const din 23 de bii. Dei virgula
binar nu este reprezentat, se presupune c ea este aezat naintea
bitului c.m.s. al mantisei. De exemplu, dac B = 2, numrul 1,75 poate fi
reprezentat sub mai multe forme:

Pentru simplificarea operaiilor cu numere n VM i pentru creterea


preciziei acestora, se utilizeaz reprezentarea sub forma normalizat. Un
numr n VM este normalizat dac bitul c.m.s. al mantisei este 1. Din
cele dou reprezentri ale numrului 1,75 ilustrate anterior, prima este
cea normalizat.
Deoarece bitul c.m.s. al unui numr normalizat n VM este ntotdeauna 1,
acest bit nu este de obicei memorat, fiind un bit ascuns la dreapta
virgulei binare. Aceasta permite ca mantisa s aib un bit semnificativ n
plus. Astfel, cmpul de 23 de bii este utilizat pentru memorarea unei
mantise de 24 de bii cu valori ntre 0,5 i 1,0.

Cu aceast reprezentare, Figura 2.1 indic gama numerelor care pot fi


reprezentate ntr-un cuvnt de 32 de bii.
Dac se utilizeaz reprezentarea n C2, se pot reprezenta toate
numerele ntregi ntre 231 i 2311, cu un total de 232 numere diferite.
Pentru formatul prezentat, se pot reprezenta numere n urmtoarele
domenii (Figura 2.1):

Numere negative ntre (12 -24) 2127 i 0,5 2-128


Numere pozitive ntre 0,5 2-128 i (12-24) 2127

Exist cinci regiuni care nu sunt cuprinse n aceste domenii:


Numere negative mai mici dect (12-24) 2127, apariia
acestora determinnd o depire superioar negativ
Numere negative mai mari dect 0,5 2-128, care determin o
depire inferioar negativ
Zero
Numere pozitive mai mici dect 0,5 2-128, care determin o
depire inferioar pozitiv
Numere pozitive mai mari dect (12-24) 2127, care determin
o depire superioar pozitiv
n unele cazuri, bitul ascuns se presupune poziionat la stnga virgulei
binare. Astfel, mantisa memorat M va reprezenta de fapt valoarea 1,M.
n acest caz, numrul normalizat 1,75 va avea urmtoarea form:

Presupunnd c bitul ascuns este poziionat la stnga virgulei binare n


formatul prezentat, un numr normalizat diferit de zero reprezint
urmtoarea valoare:

unde S indic bitul de semn.


n acest format se pot reprezenta numere n urmtoarele domenii:

Problema care apare n cazul formatului prezentat este c nu exist o


reprezentare pentru valoarea zero. Aceasta deoarece valoarea zero nu
poate fi normalizat. Totui, reprezentrile n VM cuprind de obicei o
combinaie special de bii pentru reprezentarea valorii zero.

Depirea superioar apare atunci cnd exponentul depete valoarea


maxim, de exemplu peste 127 n cazul formatului prezentat.

Depirea inferioar apare atunci cnd exponentul are o valoare


negativ prea mic, de exemplu sub 128. n cazul depirii inferioare,
rezultatul se poate aproxima cu 0. Coprocesoarele matematice au
anumite mecanisme pentru detectarea, semnalarea i tratarea depirii
superioare i a celei inferioare.

Pentru alegerea unui format n VM trebuie realizat un compromis ntre


dimensiunea mantisei i cea a exponentului. Creterea dimensiunii
mantisei va conduce la creterea preciziei numerelor, iar creterea
dimensiunii exponentului va conduce la creterea domeniului numerelor
care pot fi reprezentate.

Singura cale de a crete att precizia, ct i domeniul numerelor, este de


a utiliza un numr mai mare de bii pentru reprezentare. Cele mai multe
calculatoare utilizeaz cel puin dou formate, n simpl precizie (de
exemplu pe 32 de bii), i dubl precizie (de exemplu pe 64 de bii).

1.6.2. Reprezentarea numerelor n formatul


IEEE 754
IEEE (Institute of Electrical and Electronics Engineers) a dezvoltat un
standard pentru reprezentarea numerelor n VM i operaiile aritmetice n
aceast reprezentare. Scopul era facilitarea portabilitii programelor
ntre diferite calculatoare. Standardul IEEE 754 a fost publicat n 1985.
Cele mai multe coprocesoare aritmetice, printre care i cele Intel pentru
familia de microprocesoare 80x86, se conformeaz acestui standard.
Standardul definete trei formate:
Formatul scurt (precizie simpl): 4 octei
Formatul lung (precizie dubl): 8 octei
Formatul temporar (precizie extins): 10 octei
Baza implicit este 2.
Formatul scurt i cel lung sunt prezentate n continuare.

S indic semnul numrului. C reprezint exponentul deplasat, deci


caracteristica, pentru care se rezerv 8 bii n formatul scurt i 11 bii n
formatul lung. Pentru formatul scurt, deplasamentul este 127 (7Fh), iar
pentru formatul lung deplasamentul este 1023 (3FFh). Valorile minime
(0) i cele maxime (255, respectiv 2047) ale caracteristicii nu sunt
utilizate pentru numerele normalizate, ele avnd utilizri speciale.
Bitul ascuns este utilizat i la standardul IEEE 754, dar mantisa este
reprezentat ntr-un mod diferit. Ea const dintr-un bit implicit cu
valoarea 1 (partea ntreag), virgula binar implicit, i apoi cei 23,
respectiv 52 de bii ai fraciei. Dac toi biii fraciei sunt 0, mantisa este
1,0; dac toi biii fraciei sunt 1, mantisa este cu puin mai mic dect
2,0. Deci:

Mantisa are valoarea:

iar valoarea numrului n precizie simpl (NS), respectiv n precizie dubl


(ND) este:

Gama numerelor care pot fi reprezentate n precizie simpl este cuprins


ntre aproximativ
i
, iar cea a numerelor reprezentate n
precizie dubl este cuprins ntre
i
.
Formatul temporar este utilizat pentru reprezentarea numerelor n cadrul
coprocesoarelor aritmetice, n scopul reducerii erorilor datorate
rotunjirilor. Acest format este urmtorul:

Bitul 63 reprezint partea ntreag a mantisei, care nu este


implicit. Numerele n formatul temporar nu sunt ntotdeauna
normalizate, de aceea nu ncep n mod obligatoriu cu un bit de 1.
De aceea acest bit este reprezentat explicit, fiind notat cu I n
cadrul formatului. Deplasamentul exponentului este 16.383, iar
valoarea numrului (NE) este:

Una din problemele care apare la calculele cu numere n VM se


refer la modul de tratare al depirilor inferioare i superioare, i
la reprezentarea valorilor nedefinite. n acest scop, pe lng
numerele normalizate, standardul mai permite i reprezentri ale
unor valori speciale, pentru care sunt rezervate valorile 0 i 255
ale exponentului. Unele din aceste valori speciale sunt prezentate
n continuare.

n cazul obinerii unui rezultat cu o valoare mai mic dect numrul


normalizat cel mai mic posibil, n mod obinuit rezultatul este setat la
zero i operaiile se continu, sau se semnaleaz o eroare de depire
inferioar. Nici una din aceste soluii nu este satisfctoare, astfel nct
standardul permite utilizarea numerelor nenormalizate (denormalizate),
care au caracteristica 0, iar fracia diferit de 0.
Pentru valoarea zero, att caracteristica, ct i fracia, sunt egale cu 0.
Exist dou reprezentri pentru valoarea 0, n funcie de bitul de semn:
+0, respectiv -0. Bitul de la stnga punctului binar este implicit 0 n loc de
1.
Pentru cazul n care apare o depire superioar, exist o reprezentare
special pentru infinit, constnd din caracteristica format din bii de 1
(255 pentru formatul scurt), i o fracie egal cu 0.

Valoarea infinit se poate utiliza ca operand, de exemplu:

Astfel, utilizatorul poate decide dac va trata depirea superioar ca o


condiie de eroare, sau va continua calculele cu valoarea infinit.
Pentru indicarea diferitelor condiii de excepie, ca n cazul nedefinirilor
de forma /, 0, 0/, s-a prevzut un format special NaN (Not a
Number). Caracteristica este format din bii de 1, iar fracia este diferit
de 0.
Exemple
1) Care este reprezentarea binar a numrului 0,75 n simpl precizie?

1.7. Coduri binar-zecimale


2) Care este numrul zecimal reprezentat de urmtorul cuvnt?

1.7. Coduri binar-zecimale


Aceste coduri se utilizeaz pentru codificarea cifrelor zecimale. Pentru
codificarea fiecreia din cele 10 cifre, sunt necesari 4 bii; din cele 16
valori posibile, 6 vor fi neutilizate. Prin stabilirea unor corespondene
ntre mulimea cifrelor zecimale i mulimea celor 16 cuvinte de 4 bii, se
obin numeroase posibiliti de codificare
. Din numeroasele coduri
posibile se utilizeaz practic doar o mic parte.
Codurile utilizate se mpart n coduri ponderate i neponderate.

n cazul codurilor ponderate, o cifr zecimal este exprimat printr-o


combinaie de 4 cifre binare, n care fiecrei cifre i se asociaz o anumit
pondere. Ponderile pot fi pozitive sau negative.
Valoarea cifrei zecimale se obine prin suma biilor din cod, fiecare bit
fiind multiplicat cu valoarea ponderii asociate.
Considernd un cod format din biii b0, b1, b2, b3, ponderile asociate
acestora fiind p0, p1, p2, respectiv p3, valoarea cifrei zecimale codificate
este:

Ponderile fiecrui bit reprezint valoarea corespunztoare din denumirea


codului. Pentru ponderile de sus, codul are denumirea p3p2p1p0.
n Tabelul 2.1 se prezint exemple de coduri ponderate de 4 bii mai des
utilizate.

Exemple

n cazul codului 8421, deoarece fiecare bit are ponderea numrrii n


binar (20, 21, 22, 23), iar cuvintele de cod reprezint numerele succesive
n sistemul binar natural, codul se mai numete cod binar-zecimal natural
(NBCD Natural Binary Coded Decimal). n mod obinuit, acest cod se
numete, impropriu, cod BCD.

n cazul codului 2421, numit i cod Aiken (dup numele prof. Howard
Aiken, care a realizat calculatorul MARK I), primele 5 cifre zecimale (0
4) au aceeai exprimare ca i n codul 8421. Cifra zecimal 5 poate fi
exprimat fie prin 0101, fie prin 1011. Deci, reprezentarea unor cifre
zecimale nu este unic, aceast proprietate fiind valabil i pentru alte
coduri. Pentru codificare s-a ales reprezentarea 1011, deoarece codul
pentru cifra 5 se poate obine atunci prin complementarea codului pentru
cifra 4. Aceeai regul se poate aplica pentru obinerea codului cifrei 6
din codul cifrei 3, a codului cifrei 7 din codul cifrei 2 etc.
Codurile care au aceast proprietate se numesc coduri
autocomplementare. Un cod este autocomplementar dac cuvntul de
cod al complementului fa de 9 al cifrei N (deci 9 N) se poate obine
din codul cifrei N, prin complementarea fiecruia din cei 4 bii. De
exemplu, codul 8421 nu este autocomplementar, iar codurile
sunt autocomplementare.
Condiia necesar pentru ca un cod ponderat s fie autocomplementar
este ca suma ponderilor s fie egal cu 9. Autocomplementaritatea
constituie un avantaj n construcia unui dispozitiv aritmetic care lucreaz
cu numere zecimale reprezentate n codul respectiv.

Observaie. n forma intern, numerele sunt reprezentate i prelucrate


fie sub form binar, fie codificate printr-un cod binar-zecimal. Trebuie
sesizat diferena dintre conversia unui numr zecimal n echivalentul
su binar i codificarea binar-zecimal a numrului zecimal. De exemplu:

Codurile neponderate pot avea un numr mai mare de 4 bii. Codurile


cele mai uzuale sunt prezentate n Tabelul 2.2.

Codul Exces 3 este autocomplementar, i deriv din codul 8421 (BCD)


prin adugarea la fiecare cifr a valorii 3. Utiliznd acest cod, se poate
face distincie ntre lipsa unei informaii nscrise ntr-un registru sau
locaie de memorie i nscrierea valorii zero (0000 reprezint lipsa unei
informaii, iar zero este codificat prin 0011).
Codul 2 din 5 se utilizeaz pentru reprezentarea numerelor zecimale
printr-un grup de 5 bii. Denumirea deriv din faptul c fiecare cifr
zecimal codificat n binar conine doi bii de 1 din cei 5 bii.
Codul Gray are proprietatea de adiacen, adic trecerea de la o cifr
zecimal la urmtoarea sau precedenta necesit modificarea unui singur
bit din cuvntul de cod. Este util pentru mrimile care cresc sau descresc
succesiv.

1.8. Coduri detectoare de erori

Transmiterea informaiilor prin medii influenate de zgomote


poate fi nsoit de introducerea unor erori. Verificarea transmiterii
corecte a informaiilor se poate realiza cu ajutorul unor coduri
speciale numite coduri detectoare de erori.
Una din metodele de detectare a unei erori o constituie
detectarea combinaiilor interzise. n cazul codurilor binarzecimale, deoarece se utilizeaz 10 din cele 16 combinaii
posibile de 4 bii, celelalte combinaii nu trebuie s apar. Aceste
combinaii interzise se pot utiliza pentru detectarea erorii.
Dac, de exemplu, n codul BCD 1000 apare o singur eroare,
codul poate fi transformat n 0000, 1100, 1010 sau 1001. Dintre
aceste combinaii, a doua i a treia constituie combinaii interzise,
astfel nct n aceste cazuri eroarea poate fi detectat. Celelalte
combinaii nu sunt interzise, deci n cazurile respective eroarea
nu poate fi detectat.

O modalitate de cretere a probabilitii de detectare a erorilor const n


folosirea mai multor combinaii interzise, care pot fi disponibile dac
codurile au mai mult de 4 bii. De exemplu, n codul 2 din 5 apare o
eroare ori de cte ori o cifr codificat are mai mult sau mai puin de doi
bii de 1. Astfel, se pot detecta erori multiple.
O alt metod pentru detectarea erorilor const n folosirea unor bii
suplimentari de verificare. De exemplu, un cod de n bii poate fi format
din m bii de date i r bii redundani de verificare (n = m + r). Fiind date
dou cuvinte de cod, de exemplu 1000 1001 i 1011 0001, se poate
determina numrul biilor care difer. n acest caz, exist 3 bii care
difer. Pentru determinarea numrului de bii care difer, se efectueaz
suma modulo 2 ntre cele dou cuvinte de cod, i se calculeaz numrul
biilor de 1 ai rezultatului. Numrul poziiilor n care dou cuvinte de cod
difer reprezint distana Hamming. Dac ntre dou cuvinte de cod se
afl o distan Hamming d, sunt necesare d erori de cte un singur bit
pentru trecerea de la un cod la al doilea cod.
Proprietile de detectare a erorilor ale unui cod depind de distana sa
Hamming. Pentru detectarea a d erori de cte un singur bit, este necesar
un cod cu distana d+1, deoarece cu un asemenea cod nu exist
posibilitatea ca d erori de un singur bit s modifice un cuvnt de cod valid
ntr-un alt cuvnt de cod valid.

Un exemplu simplu de cod detector de erori este un cod care conine un


bit suplimentar numit bit de paritate. Acest bit se poate alege astfel nct
numrul total al biilor avnd valoarea 1 n exprimarea numrului s fie
par, respectiv impar. Dac se utilizeaz paritatea par, notnd cu
x3x2x1x0 biii cifrei zecimale i cu p bitul de paritate, valoarea bitului de
paritate determin ca suma modulo 2 a valorii tuturor biilor s fie 0:
de unde rezult:
Dac se alege paritatea impar, trebuie ca:
sau

Un asemenea cod are distana 2, deoarece o eroare de un singur bit


produce un cuvnt de cod cu paritatea eronat. La transmisia datelor se
adaug bitul de paritate par sau impar, iar la recepie se determin
dac paritatea este aceeai cu cea de la transmisie.
Codurile 8421 cu paritate par ale cifrelor zecimale sunt indicate n
Tabelul 2.3.

1.9. Coduri corectoare de erori


Verificarea paritii nu poate detecta apariia erorilor duble, deoarece
aceste erori nu modific suma modulo 2 a biilor. Exist coduri mai
complexe, numite coduri corectoare de erori, care permit i corectarea
unui bit eronat sau a mai multor bii eronai. Aceste coduri sunt utile
atunci cnd retransmisia informaiei nu este posibil, sau necesit un
timp care nu ar fi acceptabil.
Presupunem un cod cu m bii de date i r bii de verificare, cod care
permite corectarea tuturor erorilor de un singur bit. Fiecruia din cele 2m
cuvinte de cod valide i corespund n cuvinte de cod ilegale cu distana 1.
Acestea se formeaz prin inversarea sistematic a fiecruia din cei n bii.
Fiecare din cele 2m cuvinte valide necesit n+1 combinaii de bii
dedicate pentru cuvntul respectiv. Deoarece numrul total al
combinaiilor de bii este 2n, trebuie ca (n+1)2m 2n. Utiliznd relaia n =
m + r, aceast cerin devine (m + r + 1) 2r. Fiind dat m, aceasta
impune o limit inferioar asupra numrului biilor de verificare necesari
pentru corectarea erorilor de un singur bit. De exemplu, pentru un cuvnt
de m = 4 bii, numrul minim al biilor de verificare este r = 3, iar pentru
un cuvnt de m = 8 bii, numrul minim al biilor de verificare este r = 4.

.
Aceste limite teoretice pot fi atinse utiliznd o metod datorat lui
Richard Hamming. Metoda poate fi utilizat pentru construirea codurilor
corectoare de erori pentru cuvinte de cod de orice dimensiune. ntr-un
cod Hamming, se adaug r bii de paritate la un cuvnt de m bii,
rezultnd un nou cuvnt cu lungimea de m + r bii. Biii sunt numerotai
ncepnd cu 1 (i nu cu 0), bitul 1 fiind bitul c.m.s. Toi biii ai cror numr
este o putere a lui 2 sunt bii de paritate, restul biilor fiind utilizai pentru
date. De exemplu, n cazul unui cuvnt de 4 bii, biii 1, 2 i 4 sunt bii de
paritate. n total, cuvntul de cod va conine 7 bii (4 de date i 3 de
paritate). n exemplul prezentat se va utiliza n mod arbitrar paritatea
par.
Fiecare bit de paritate verific anumite poziii de bii. Aceste poziii sunt
ilustrate n Figura 2.2, unde prin ptrate s-a indicat poziia biilor de
paritate, iar prin cercuri s-a indicat poziia biilor de informaie.

Figura 2.2. Construcia codului Hamming pentru valoarea binar


0101 prin adugarea a trei bii de paritate.

Poziiile de bii verificate de biii de paritate sunt urmtoarele:

Bitul 1 de paritate verific biii 1, 3, 5, 7.


Bitul 2 de paritate verific biii 2, 3, 6, 7.
Bitul 4 de paritate verific biii 4, 5, 6, 7.

n general, bitul b este verificat de acei bii b1, b2, , bj astfel nct b1 + b2
+ + bj = b. De exemplu, bitul 5 este verificat de biii 1 i 4 deoarece 1 +
4 = 5. Bitul 6 este verificat de biii 2 i 4 deoarece 2 + 4 = 6.
Se consider exprimarea n cod 8421 a cifrei zecimale 5 (0101). Bitul 1
de paritate va trebui s determine un numr par de cifre de 1 pentru
poziiile 1, 3, 5 i 7, deci va avea valoarea 0. Similar se determin
valoarea bitului 2 de paritate, care va avea valoarea 1, i a bitului 4 de
paritate, care va avea valoarea 0.
Dac transmiterea cifrei zecimale se realizeaz corect, toi biii de
paritate verific n mod corect paritatea. Dac apare o eroare de
transmisie, fie la un bit de paritate, fie la un bit de informaie, acest cod
poate corecta o singur eroare.

De exemplu, presupunem c a aprut o eroare la transmiterea bitului de


informaie din poziia 6. Codul recepionat va fi 0100111 n loc de 0100101.
Se verific biii de paritate, cu urmtoarele rezultate.

Bitul 1 de paritate este corect (biii 1, 3, 5, 7 conin doi bii de 1)


Bitul 2 de paritate este incorect (biii 2, 3, 6, 7 conin trei bii de 1)
Bitul 4 de paritate este incorect (biii 4, 5, 6, 7 conin trei bii de 1).

Bitul incorect trebuie s fie unul din biii testai de bitul 2 de paritate (2, 3, 6
sau 7). Deoarece bitul 4 de paritate este incorect, unul din biii 4, 5, 6 sau 7
este incorect. Bitul eronat este unul din cei care se afl n ambele liste, deci
poate fi bitul 6 sau 7. Bitul 1 de paritate fiind corect, rezult c i bitul 7
este corect. Bitul eronat este deci bitul 6, i valoarea acestui bit trebuie
inversat. n acest fel, eroarea poate fi corectat.
O metod simpl pentru determinarea bitului eronat este urmtoarea. Se
calculeaz biii de paritate, i dac toi biii sunt coreci, nseamn c nu
exist eroare (sau exist mai mult de o eroare).
Se atribuie apoi biilor de paritate ponderile 1, 2, respectiv 4, i se adun
ponderile biilor de paritate eronai. Suma rezultat reprezint poziia bitului
eronat. De exemplu, dac biii de paritate 2 i 4 sunt eronai, bitul eronat
este bitul 6.

1.10. Coduri alfanumerice

Datele alfanumerice conin cifre, litere i semne speciale, numite, n


general, caractere. Codurile care pot reprezenta asemenea caractere se
numesc coduri alfanumerice.

1.10.1. ASCII
Un cod alfanumeric foarte des utilizat este codul ASCII (American
Standard Code for Information Interchange), care codific literele mari i
mici ale alfabetului englez, cifrele zecimale, semnele de punctuaie i alte
caractere speciale. Codul ASCII utilizeaz 7 bii pentru a codifica 128 de
caractere. Din cele 128 de caractere, 94 sunt caractere care pot fi
tiprite, iar 34 sunt caractere utilizate pentru diferite funcii de control.
n Tabelul 2.4 se prezint codurile ASCII. Cei 7 bii ai codului sunt notai
cu b0 pn la b7, b7 fiind bitul c.m.s. De notat c cei trei bii mai
semnificativi ai codului determin coloana din tabel, iar cei patru bii mai
puin semnificativi determin linia din tabel. De exemplu, litera A este
reprezentat n ASCII prin codul binar 100 0001 (coloana 100, linia
0001).

Cele 34 de caractere de control sunt desemnate n tabelul caracterelor


ASCII prin nume abreviate. Caracterele de control se utilizeaz pentru
transmisia datelor i pentru aranjarea textului ntr-un anumit format.
Exist trei tipuri de caractere de control:

de formatare,
de separare a informaiei, i
de control al comunicaiei.

Dintre caracterele de formatare a textului menionm cele pentru


deplasare napoi BS (Backspace), retur de car CR (Carriage Return) i
tabulare orizontal HT (Horizontal Tabulation).
Separatorii de informaii se utilizeaz pentru separarea datelor n
seciuni, de exemplu n paragrafe i pagini. Acestea cuprind caractere
cum sunt separatorul de nregistrare RS (Record Separator) i
separatorul de fiier FS (File Separator). Caracterele de control al
comunicaiei se utilizeaz la transmisia textului.
Exemple de asemenea caractere sunt STX (Start of Text) i ETX (End of
Text), care se pot utiliza pentru ncadrarea unui mesaj transmis pe liniile
de comunicaie.

Tema de casa
3.1. Reprezentai n formatul IEEE 754 cu precizie simpl urmtoarele numere zecimale:
a) 1; b) 1; c) 5; d) 5; e) 35,4; f) 35,4; g) 2,6; h) -192. Scriei rezultatele n hexazecimal.
3.2. Reprezentai n formatul IEEE 754 cu precizie dubl urmtoarele numere zecimale:
a) 1; b) 1,5; c) 2,5; d) 5; e) 35,4; f) 35,4
3.3. Scriei numerele zecimale corespunztoare urmtoarelor reprezentri n formatul IEEE 754
cu precizie simpl:
a) 41 8A 1E 94; b) 41 36 66 6A; c) BE CC CC CB; d) BD AB 40 C0
3.4. Deducei algoritmii pentru adunarea i scderea a dou cifre zecimale exprimate n codul
8421. Pentru deducerea algoritmului de adunare se va ntocmi un tabel cu toate sumele
posibile care se pot obine prin adunarea a dou cifre zecimale i a unui eventual transport,
indicnd pentru fiecare din acestea suma corect. Similar se va proceda pentru scdere,
innd cont i de un eventual mprumut.
3.5. Deducei algoritmii pentru adunarea i scderea a dou cifre zecimale exprimate n codul
Exces 3.
3.6. Deducei algoritmii pentru conversia din binar n codul Gray i din codul Gray n binar.
3.7. Construii codul Hamming pentru un cuvnt de 16 bii, considernd paritatea impar. Explicai
modul n care funcioneaz corecia unei erori.
3.8. Deducei regula de conversie a literelor mari codificate n ASCII n litere mici, i a literelor
mici n litere mari.

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