Curs PDN, Bazele Aritmeticii
Curs PDN, Bazele Aritmeticii
Curs PDN, Bazele Aritmeticii
BAZELE ARITMETICII
Deoarece att ctul, ct i restul sunt unici, egalnd prile fracionare avem:
sau
Exemple
1) Conversie din zecimal n binar
unde u-1 este partea ntreag, iar F1 este partea fracionar a valorii
obinute. Deci,
deci:
Exemple
1) Conversie din zecimal n binar
Exemplu
1.3.1. Adunarea
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
Exemple
De exemplu:
Cu X, Y se vor nota numerele n reprezentarea din calculator, care conin i
cifrele de semn:
De exemplu:
De exemplu:
adic:
iar n C2:
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.
Exemple
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.
.
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.
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.
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.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).
de formatare,
de separare a informaiei, i
de control al comunicaiei.
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.