Documente Academic
Documente Profesional
Documente Cultură
1. Sisteme de numeraie
Conversia unui numr dintr-o baz de numeraie ntr-o nou baz de numeraie
se face examinnd separat partea ntreag i partea fracionar.
S lum, de exemplu, numrul 121,45 n zecimal. Se dorete transformarea acestuia
n baza 2. Pentru a putea realiza acest lucru, vom privi numrul dat ca dou numere
distincte: partea ntreag 121 i partea fracionar 0,45. Prima dat vom transforma numrul
121 n binar, prin mpriri succesive la 2 i prin luarea resturilor obinute la mpriri n
ordinea invers a obinerii.
12110 = 11110012
Pentru a transforma partea fracionar 0,45 n binar va trebui s efectum nmuliri
succesive cu 2 i s prelum partea ntreag a rezultatelor.
0,45 * 2 = 0,9 -> 0
0,9 * 2 = 1,8 -> 1
0,8 * 2 = 1,6 -> 1
0,6 * 2 = 1,2 -> 1
Algoritmul se oprete n momentul n care partea fracionar devine 0 sau s-a atins
precizia dorit (numrul de cifre pentru reprezentarea rezultatului).
0,4510 = 0,011100112
Prin concatenarea rezultatelor pariale se obine rezultatul final al conversiei. Astfel:
121,4510 = 1111001,011100112
Observaie: n timp ce numerele ntregi se pot reprezenta exact n binar, numerele
subunitare se reprezint aproximativ, fcnd excepie numai acele numere subunitare care
se pot scrie sub forma de sum de puteri negative ale lui 2 (0,5; 0,25 etc.).
Pentru transformarea invers, din binar n zecimal, vom nmuli biii numrului cu
puterile lui 2 corespunztoare rangului cifrei.
10110101,01101012 = 1*27 + 0*26 + 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20 + 0*2-1 +
1*2-2 + 1*2-3 + 0*2-4 + 1*2-5 + 0*2-6 + 1*2-7 181,414
a) codul direct
Numerele ntregi se reprezint prin mrime (valoare absolut) i semn. Pentru
numerele negative, bitul cel mai semnificativ (de semn) este 1, iar celali n-1 bii
servesc pentru reprezentarea valorii absolute a numrului.
Ex.: N = -5 pe 8 bii => 10000101
d) cod n exces
Aceast codificare const n adunarea unei valori constante la fiecare numr ntreg
(pozitiv sau negativ) care se reprezint. Valoarea constant notat E care se adun,
este de regul 2n-1, cu n numrul de bii ai reprezentrii.
Matematic, un numr ntreg N se reprezint n cod exces E prin: E + N.
Ex.: Numerele N1 = 5 i N2 = -5 se reprezint pe n = 8 bii, n exces 27 = 128, prin:
E 10000000 10000000
N 00000101 11111011
10000101 01111011
Fie D domeniul de numere ntregi ce se pot reprezenta pe n bii: D = [-2 n-1, 2n-1-1].
Utiliznd codul exces 2n-1, domeniul D se transform n domeniul de valori pozitive D = [0, 2 n-
1].
Deci, codul n exces poate transforma un domeniu de numere algebrice ntr-un
domeniu de numere aritmetice. Avantajul este c operaiile cu numere aritmetice se
implementeaz mai simplu (n hardware sau n software) dect operaiile cu numere
algebrice.
Exemple:
a) x = 9, y = 5
00001001+ 9 + 5 = 14
00000101
00001110
b) x = 9, y = -5
Mai nti vom reprezenta -5 n complement fa de doi:
-5 => 11111011
Dup care realizm adunarea:
00001001+ 9-5=4
11111011
00000100
c) x = 5, y = -9
00000101+ 5 9 = -4
11110111
11111100
Rezultatul obinut este negativ (bitul de semn are valoarea 1), reprezentat n
complement fa de 2. Pentru a afla valoarea absolut a rezultatului va trebui s l
complementm din nou fa de 2.
Prin inversare se obine: 00000011+
1
00000100 =4
0,10110011
1,0100 scade mpritorul (adun compl. fa de doi)
1,11110011 rezultat negativ =>restaurare demprit
preia 0 pentru ct
0,10110011
1,10100 depl. dreapta mpritor i scade
ignor carry 0,01010011 rezultat pozitiv => preia 1 pentru ct
1,110100 depl. dreapta mpritor i scade
ignor carry 0,00100011 rezultat pozitiv => preia 1 pentru ct
1,1110100 depl. dreapta mpritor i scade
ignor carry 0,00001011 rezultat pozitiv => preia 1 pentru ct
1,11110100 depl. dreapta mpritor i scade
1,11111111 rezultat negaitv =>restaurare demprit
preia 0 pentru ct
restul 0,00001011 demprit restaurat
Numerele zecimale, alctuite din cifrele 0-9, se reprezint n diferite coduri. Aceste coduri
sunt utilizate mai ales de sisteme sau de dispozitive pe 4 bii. Cel mai utilizat cod este codul
zecimal codificat binar, BCD (Binary Coded Decimal). Cifrele de la 0 la 9 sunt reprezentate
prin valori binare echivalente, pe cte 4 bii, conform tabelului urmtor:
Avantajul acestei codificri este corespondena direct ntre cifra zecimal i valoarea
sa. O alt modalitate de reprezentare a cifrelor zecimale este codul BCD n exces 3. Cifrele
zecimale sunt reprezentate pe cte 4 bii, prin valorile cuprinse ntre 3 (0011) i 12 (1100).
Pentru sistemele cu dispozitive care utilizeaz numere n cod BCD, este necesar o
operaie de conversie din binar n BCD i invers.
Numerele care intervin n calcule sunt numere nu neaprat ntregi, unele sunt foarte
mari, altele foarte mici, i eventual cu multe cifre semnificative. De aceea este necesar o
reprezentare a lor n care s se fac distincie ntre ordinul de mrime i precizie (numrul de
cifre semnificative).
n notaia tiinific, un numr este reprezentat astfel: N = M * 10 E, unde E este
exponentul, un numr ntreg pozitiv sau negativ, ce determin ordinul de mrime al
numrului, iar M este mantisa, un numr fracionar, ce determin precizia numrului.
Echivalentul n calculator al acestei notaii este formatul cu virgul mobil, folosit
pentru reprezentarea numerelor reale din matematic.
Nu exist o coresponden biunivoc ntre numerele reale i numerele n virgul
mobil. Astfel, numerele 0,998*109 i 0,999*109 sunt consecutive n formatul n virgul
mobil, dar n realitate ntre ele exist o infinitate de numere reale. Cele mai importante
diferene ntre numerele reale din matematic i numerele reprezentate n virgul mobil
sunt domeniul finit i mulimea discret de valori. Domeniul finit i discret este determinat de
capacitatea fizic limitat a memoriei calculatorului.
Numerele se reprezint n formatul cu virgul mobil prin bitul de semn al numrului,
exponent i mantis:
n-1 0
S Exponent Mantis
e bii m bii
Iniial se testeaz dac este nul cel puin unul dintre operanzi, caz n care rezultatul
nmulirii este, de asemenea, nul. Operaia de nmulire n virgul mobil const n adunarea
exponenilor i nmulirea mantiselor.
La adunarea exponenilor este posibil s apar depire superioar (prin nmulirea a
dou numere foarte mari n modul) sau depire inferioar (prin nmulirea a dou numere
foarte mici n modul). n aceste cazuri se vor poziiona n mod corespunztor indicatorii de
depire superioar (eof) sau depire inferioar (euf).
Dac la nmulirea mantiselor rezultatul nu este normalizat, n cazul n care
exponentul Ec nu este minim, se va face o deplasare a mantisei M c cu o poziie spre stnga,
cu decrementarea exponentului.
La operaia de refacere a exponentului Ec, se ine cont c prin adunarea exponenilor
s-au adunat dou deplasamente (2nr_bii_exponent-1-1), deci se va scdea din exponentul
rezultatului obinut un deplasament.