Sisteme de Numerotatie

Embed Size (px)

Citation preview

Introducere Baza de numeraie utilizat pentru reprezentarea informaiei n calculatoarele numerice este baza 2. Argumentele care au determinat aceast alegere sunt: *operaiile aritmetice elementare n baza 2 pot fi asimilate cu operaiile n logic bivalent efectuate ntr-o algebr boolean; n consecin, att operaiile aritmetice ct i operaiile logice pot fi tratate unitar, prin intermediul funciilor logice din algebra boolean. *componentele elementare ale unui SC, utilizate pentru memorarea i manevrarea informaiilor, indiferent de natura lor (dispozitive electronice, optice, magnetice, electrice, etc.), se caracterizeaz prin dou stri stabile (circuit nchis / deschis, cmp magnetizat ntrun sens / n sens opus, cmp opac / transparent, etc.). Acest lucru face ca funcionarea lor s poat fi exprimat prin intermediul unor funcii booleene. *proiectarea logic a dispozitivelor elementare ale unui calculator numeric se realizeaz prin intermediul circuitelor logice care modeleaz funciile booleene dorite. Codificarea i reprezentarea informaiei 1 Sisteme de numerotaie Se numete sistem de numeraie totalitatea regulilor de reprezentare a numerelor folosind un anumit set de simboluri distincte, numit alfabet; simbolurile sunt numite cifre. Sistemele de numeraie sunt de dou tipuri: sisteme de numeraie poziionale sisteme de numeraie nepoziionale. Sistemele de numeraie poziionale sunt acele sisteme de numeraie pentru care valoarea unei cifre din cadrul unui numr depinde de poziia ocupat de acea cifr n cadrul numrului.Exemplu: sistemul arab zecimal de numeraie este unul poziional. De exemplu, cifra 7 are valoarea 70 n numrul 41278 i are valoarea 7000 n numrul 27903.

Sistemele de numeraie nepoziionale sunt sistemele de numeraie pentru care valoarea unei cifre dintr-un numr nu este unic determinat de poziia cifrei n numr ci de contextul n care se afl cifra.Exemplu: sistemul roman de numeraie este unul nepoziional; valoarea cifrei I n numrul II este +1 iar n numrul IV este 1.

Baza unui sistem de numeraie poziional este dat de numrul de elemente care formeaz alfabetul sistemului de numeraie. Se consider c alfabetul este format din cifre care sunt numere ntregi, consecutive, nenegative. Exemplu: sistemul de numeraie n baza 2 are alfabetul {0,1}; sistemul de numeraie n baza 16 are alfabetul {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

1

Sistemele de numeraie poziionale folosesc acelai sistem de reguli de reprezentare a numerelor; ele difer doar prin alfabetul pe care l utilizeaz i, implicit, prin baz. 2 Conversia dintr-o baz de numeraie oarecare n baza 10 Fie sistemul de numeraie n baza B, cu alfabetul {0,1,...,B-1}. Un numr raional pozitiv reprezentat n baza B prin irul: QB=bn-1bn-2...b0,b-1...b-m are, prin definiie, valoarea (n baza 10) : Q10=bn-1*Bn-1 + bn-2*Bn-2 ++ b0*B0+ + b-1*B-1 + b-m*B-mExemplul 1: numrul 40A16=4*162+A*160=1024+10=1034. Exemplul 2: numarul 10,0112=1*21+1*2-2+1*2-1=2,375.

Se observ c prin conversia prii ntregi a numrului: bn-1...b0 se obine un ntreg, iar prin conversia prii fracionare: b-1...b-m se obine un numr subunitar. 3 Conversia din baza 10 ntr-o baz de numeraie oarecare B se face conform urmtorului algoritm n primul rnd trebuie subliniat c pentru conversia unui numr care conine att parte ntreag ct i parte zecimal trebuie convertite separat partea ntreag i cea zecimal. Procedura de conversia a prii ntregi: se fac mpriri ntregi, succesive la baza B, pornind de la numrul ntreg care se convertete; n urma fiecrei mpriri se obine un nou ct i un rest; noul ct este dempritul urmtoarei mpriri ntregi; algoritmul se ncheie cnd se obine ctul 0; resturile obinute, ncepnd cu ultimul i pn la primul, reprezint cifrele numrului, de la cea mai semnificativ la cea mai puin semnificativ. Procedura de conversia a prii zecimale: se fac nmuliri succesive, cu baza B, ncepnd cu partea fracionar a numrului care se convertete; partea fracionar a fiecrui produs constituie denmulitul pentru produsul urmtor; partea fracionar a numrului convertit n baza B este reprezentat de succesiunea obinut din prile ntregi ale tuturor produselor obinute, ncepnd cu primul produs, care furnizeaz cifra cea mai semnificativ a rezultatului algoritmul se ncheie cu un rezultat exact atunci cnd se obine ca produs parial un ntreg algoritmul se ncheie cu o aproximare a numrului fracionar, dup un anumit numr de pai, atunci cnd nu se poate obine ca produs parial un ntreg.Exemplul 1: Conversia numrului 4208 n baza 5 se obine astfel: 4208/5=841 rest 3 841/5=168 rest 1 168/5=33 rest 3

2

33/5=6 rest 3 6/5=1 rest 1 1/5=0 rest 1 Rezultatul obinut este 4208=113313. Exemplul 2: Conversia numrului 0,208984375 n baza 8 se obine astfel: 0,208984375*8=1,671875 0,671875 *8=5,375 0,375 *8=3 Rezultatul conversiei este 0,1538.

Observaie: Numrul maxim care poate fi reprezentat n baza B cu m cifre este Bm-1.Exemplu: Numrul maxim care se poate reprezenta cu 4 cifre, n baza 3, este 2222, adic 34-1.

4 Conversia din baza A n baza Ak i invers Pentru conversia unui numr din baza A n baza Ak se aplic algoritmul urmtor: se grupeaz cifrele numrului n baza A n grupe de cte k elemente, ncepnd de la marca zecimal la dreapta i la stnga valoarea fiecrei grupe, n baza 10, corespunde unei cifre n baza Ak numrul n baza Ak este numrul format de cifrele obinute prin conversiile de la pasul precedentExemple: Numrul (102001121)3=(12047)9 Numrul (1020,01121)3=(36,153)9

5 Pentru conversia din baza Ak n baza A se aplic algoritmul urmtor: se reprezint fiecare cifr a numrului din baza Ak n baza A, pe lungime de k cifre reprezentarea numrului n baza A se obine prin concatenarea grupelor de cte k cifre obinute la pasul precedent.

Exemplu: Numrul (7A0F1)16=(01111010000011110001)2.

6 Operaii simple cu numere scrise n diferite baze n continuare vor fi prezentate operaiile de adunare i scdere a numerelor scrise n binar, octal i hexazecimal a numerelor ntregi fr semn. Adunarea Adunarea se face dup aceleai reguli ca n zecimal, cu observaia c cifra cea mai mare dintr-o baza b va fi b-1 (adic 9 in zecimal, 7 in octal, 1 in binar i F n hexazecimal). Deci dac prin adunarea a dou cifre de rang i se va obine un rezultat mai mare dect b-1, va apare acel transport spre cifra de rang urmtor i+1, iar pe poziia de rang i va rmne restul mpririi rezultatului adunrii cifrelor de rang i la baz. Transportul spre cifra de rang i+1 va deveni o nou unitate la suma cifrelor de rang i+1, adic se va mai aduna acel transport 1. Exemple: 1111 1 01010110(B)+ 11 1364(Q)+ 11 6D8A32(H)+ 3

10110101(B) 100001011(B)

3721(Q) 5305(Q)

33E4C8(H) A16EFA(H)

S-a marcat transportul de o unitate la cifra de rang superior prin scrierea unui 1 deasupra cifrei de rang superior la care s-a fcut transportul. Operaia de adunare n binar este util la reprezentarea numerelor n complement fa de 2 cnd se alege varianta adunrii valorii 1 la reprezentarea din complement fa de 1 (vezi lucrarea cu reprezentarea datelor). Exemple: S se adune cele 2 numere ntregi 347(D) i 438(D) convertite mai sus n lucrare n bazele 16 si 8 si s se verifice rezultatul prin conversia lui in baza 10 347(D)+ 438(D) = 785(D) 15B(H) + 1B6(H) = 311(H). Verificare: 311(H) = 3*256+1*16+1 = 785 533(Q) + 666(Q) = 1421(Q). Verificare:1421(Q) = 1*512+4*64+2*8+1 = 785 Scderea Si pentru scdere sunt valabile regulile de la scderea din zecimal i anume: dac nu se pot scdea dou cifre rang i (adic cifra desczutului este mai mic dect a scztorului) se face mprumut o unitate din cifra de rang urmtor (i+1). n cazul n care cifra din care se dorete realizarea mprumutului este 0, se face mprumutul mai departe la cifra de rang urmtor. Exemple: .. 01011010(B) 01001100(B) 00001110(B) . . A3D4(H) 751B(H) 2EB9(H)

S se scad cele dou numere ntregi 347(D) i 438(D) convertite mai sus n lucrare n bazele de numeraie 16 i 8 i s se verifice rezultatul prin conversia lui n zecimal.

438 347 = 91(D) 1B6(H) 15B(H) = 5B(H). Verificare: 5B(H) = 5*16+11 = 91 666(Q) 533(Q) = 133(Q). Verificare 133(Q) = 1*64+3*8+3 = 91 Operaia de scdere este util cnd se dorete reprezentarea numerelor n complement fa de 2 i se efectueaz scderea din 2nr_biti_reprez + 1 a numrului reprezentat n modul. 7 Bii i bytes Bii Unitatea de msur de baz utilizat n msurarea informaiei se numete bit. Capacitatea hard-disk-ului, a memoriei RAM, mrimea fiierelor toate se msoar n bii. Bitul este echivalent cu o singur cifr din sistemul de numerotaie zecimal. Cifrele iau valori de la 0 la 9, bitul poate lua dou valori 0 i 1, adic reprezentarea n baza doi (binar). Alegerea reprezentrii binare s-a fcut din considerente tehnice. Electronic este simplu i ieftin s reprezini un bit n binar. Cuvntul bit s-a nscut din mbinarea a cuvintelor: binary digit.

4

Bytes Rareori n reprezentarea datelor vor fi utilizai biii. n cele mai multe cazuri se folosete gruparea acestora cte 8. Aceast grupare poart numele de byte sau n romnete octet. 1 byte reprezint pentru calculator cantitatea de informaie echivalent cu o liter de text. Notaiile prescurtate fac diferena ntre bit (notat cu "b") i Byte (notat cu "B"). Dar fiindc aceste uniti sunt foarte mici n multe cazuri practice, cel mai adesea se folosesc multiplii lor, cu prefixele uzuale folosite i n cazul altor uniti de msur. n tabelul urmtor sunt dai multiplii biilor i octeilor: Prefix BII BYTES (OCTEI) Multipl Cantitate Multiplu Cantitate u Kilo Kilobit 1024 bii KiloByte 1024 Bytes Mega Megabit 1024 Kb MegaByte 1024 KB Giga Gigabit 1024 Mb GigaByte 1024 MB Tera Terabit 1024 Gb TeraByte 1024 TB Codul ASCII (American Standard Code for Information Interexchange) Cu 8 bii ntr-un byte se pot reprezenta 256 de valori de la 0 la 255:0 = 00000000 1 = 00000001 2 = 00000010 ... 254 = 11111110 255 = 11111111

Setul de coduri ASCII este folosit pentru reprezentarea binar a caracterelor pe 8 bii, adic maxim 256 caractere. Codul ASCII se mparte n: - codul ASCII neprintabil cu coduri de la 0 la 31 - codul ASCII standard care cuprinde codurile de la 32 la 127 i conine caracterele standard utilizate de calculatoare i corespunztoare versiunii mai veche pe 7 bii a codului ASCII - codul ASCII extins care cuprinde codurile de la 128 la 255 i conine caractere programabile printre ele se afl i caracterele strine de limba englez, caractere speciale, caractere grafice. 8 Reprezentarea numerelor ntregi n Mrime i Semn (MS) n Complement fa de 1 i de 2 (C1,C2) n general, constantele i variabilele ntregi se reprezint pe un octet, pe un cuvnt (2 octei), dou cuvinte (dublu cuvnt), sau patru octei. La toate reprezentrile bitul cel mai semnificativ reprezint semnul, iar restul reprezentrii (ceilali bii) se folosesc pentru reprezentarea n binar a numrului (numerele negative au o reprezentare diferit a modulului n cele trei tipuri de reprezentri). Exist deci dou cmpuri n reprezentarea numerelor ntregi: semnul i modulul. La toate cele trei moduri de reprezentare semnul este 0 pentru numerele pozitive i 1 pentru numerele negative. Cmpul pentru modul se reprezint astfel: La reprezentarea n mrime i semn (MS) se reprezint modulul numrului, deci reprezentarea unui numr se va face punnd 0 sau 1 pe bitul semn, n funcie de valoarea pozitiv, respectiv negativ a numrului, iar pe restul reprezentrii se va pune valoarea modulului su n baza 2. La reprezentarea n complement fa de 1 (C1) dac numrul este pozitiv, reprezentarea este la fel ca la mrime i semn, adic se reprezint modulul numrului, iar bitul semn este implicit 0. Dac numrul este negativ, atunci se complementeaz toi biii reprezentrii numrului n modul, adic 5

biii 1 devin 0 iar cei cu valori 0 devin 1, astfel ca bitul semn va fi pe 1. Trebuie reinut faptul c se face complementarea reprezentrii numrului n modul, adic se reprezint mai nti numrul pozitiv, dup care se complementeaz toi biii. La reprezentarea n complement fa de 2, dac numrul este pozitiv se reprezint la fel ca la mrime i semn, respectiv ca la complement fa de 1, adic se reprezint numrul n modul, iar bitul de semn este 0. Dac numrul este negativ, atunci se complementeaz fa de 2 reprezentarea numrului n modul i anume se scade din valoarea 2n+1 (unde n este numrul de bii pe care se face reprezentarea, bitul de semn devenind automat 1) reprezentarea n modul; o alt cale de a obine reprezentarea n complement fa de 2 a numerelor negative este adugnd valoarea 1 la reprezentarea numrului negativ n complement fa de 1.

Din modul de reprezentare a numerelor n cele trei forme rezult c numerele pozitive au aceeai reprezentare att n mrime i semn ct i n complement fa de 1 i n complement fa de 2. O atenie sporit trebuie acordat spaiului minim (numr minim de octei) pe care se poate reprezenta un numr n cele trei moduri de reprezentare. De exemplu cnd se dorete aflarea numrului minim de octei pe care se poate reprezenta numrul 155 trebuie s se in cont c pentru reprezentarea modulului este la dispoziie mai puin cu un bit (cel de semn) din spaiul ales pentru reprezentare. n acest caz dei valoarea modulului su ncape pe un octet (155 = 9Bh), numrul nu se poate reprezenta pe un octet n nici un mod de reprezentare, deoarece bitul semn trebuie reprezentat separat, altfel la interpretarea reprezentrii 9Bh, primul bit fiind 1, reprezentarea va fi a unui numr negativ n loc de numrul dorit. n concluzie, pentru reprezentarea numrului 155 va fi nevoie de minim 2 octei (reprezentarea se face pe multiplu de octei), iar numrul va fi reprezentat astfel: 009Bh n toate cele trei moduri de reprezentare, fiind pozitiv.Exemple: S se reprezinte pe 4 octei urmtoarele numere: 157, 169, -157, -169 157(D) = 1001 1101(B) = 9D(H) Deci reprezentarea in MS. C1 si C2 va fi 00 00 00 9D (H) 169(D) = 1010 1001(B) = A9(H) Deci reprezentarea in MS, C1 si C2 va fi: 00 00 00 A9 (H) Pentru 157, se reprezint mai nti n modul (este calculat mai sus) i se obine: MS: 1000 0000 0000 0000 0000 0000 1001 1101 (B) = 80 00 00 9D (H) C1: 1111 1111 1111 1111 1111 1111 0110 0010 (B) = FF FF FF 62 (H) C2: 1111 1111 1111 1111 1111 1111 0110 0011 (B) = FF FF FF 63 (H) Pentru 163 analog: MS: 80 00 00 A9 (H) C1: FF FF FF 56 (H) C2: FF FF FF 57 (H)

9 Legtura dintre baza 2 i baza 16 Chiar dac sistemul de calcul utilizeaz ca unitate fundamental un bit adic binary digit, n practic se folosesc grupri de bii (de exemplu pentru msurarea dimensiunii fiierelor folosim octeii (bytes) i multiplii acestuia, 1 byte este format din 8 bii). n cazul programrii, al depanrii ns se utilizeaz o alt convenie: gruparea biilor cte 4. Cea mai mare valoare pe care o putem obine este 1111(2) adic n zecimal 15. Numrul de combinaii al gruprii biilor cte patru este 16 combinaii (24). Putem concluziona c aceast grupare corespunde codificrii n baza 16, hexazecimal sau hexa mai pe scurt. Este mult mai la ndemn s utilizm aceast convenie dect s prelucrm iruri lungi de 1 i de 0. Pe de alt parte dou grupri de cte patru bii reprezint un byte, deci convenia este util. Trebuie reinut c indiferent dac este vorba de hexa, bii sau orice alt form de reprezentare, informaia n calculator sub o singur form: ir de 0 i de 1.

6