LABORATOR Reprezentarea Numerelor Sisteme de Calcul
Cuprins Sisteme de calcul, componenta hardware și software; Funcționarea unității de procesare; Reprezentarea informației; Reprezentarea numerelor în bazele: 10, 2, 16; Conversia numerelor din baza 10 în baza 2; Conversia numerelor din baza 10 în baza 16; Reprezentarea numerelor negative; Operații cu numere în diverse baze de numerație; Operații logice aplicate la nivel de bit; Evaluarea expresiilor logice.
Structura unui Sistem de Calcul Componenta Hardware Microprocesorul (up) Memoria Operativă (Memoria RAM) Memoria Externă (Dispozitive de stocare a datelor) Dispozitive periferice (monitor, tastatura, mouse, imprimantă, scanner) Componenta Software Sistemul de Operare (Linux, Android, Windows, IoS) Programe de Aplicații (AutoCAD, OrCAD, Matlab, Office) Programe Utilitare (Antivirusi, Audio/Video Playere)
Sisteme de Calcul - Structura Hardware Microprocesor (up) Memoria Operativa (MO) Magistrala de Date Magistrala de Comenzi HDD CD-ROM DVD-ROM Memorie Externa Tastatura Mouse Monitor Dispozitive Periferice Imprimanta Scanner
Funcționarea Unitătii de Procesare date 0 date 1 b0 b0 b1 b1 b2 b2 b63 b63 comanda 0 comanda 1 b0 b0 b1 b1 b2 b2 b48 b48 Magistrala de Date (64 biti) Magistrala de Comenzi (48biti) Unitate de Procesare (Procesor) Semnal de tact (frecventa de functionare) t0 t1
Sisteme de Calcul - Structura Hardware
Sisteme de Calcul - Structura Hardware
Reprezentarea informației 1 0 1 1 0 0 1 1 Ratele de transfer sunt exprimate în biţi pe secundă: 56 Kilobiţi/secundă în cazul modemurilor 1,544 Megabiţi/secundă în cazul reţelelor de tip T1 Capacitatea de stocare a dispozitivelor de memorie se exprimă în bytes: 256 MegaBytes (MB) RAM 160 GigaBytes (GB) hard disk
Reprezentarea informației Atunci când ne referim la Bytes (în cazul memoriei unui computer): Kilobyte (KB) 2 10 = 1,024 bytes Megabyte (MB) 2 20 = 1,048,576 bytes Gigabyte (GB) 2 30 = 1,073,741,824 bytes Terabyte (TB) 2 40 = 1,099,511,627,776 bytes Atunci când ne referim la biţi pe secundă (cazul liniilor de transmisie): Kilobit pe second (Kbps) = 1000 bps (o mie) Megabit pe second (Mbps) = 1,000,000 bps (un milion) Gigabit pe second (Gbps) = 1,000,000,000 bps (un bilion) Terabit pe second (Tbps) = 1,000,000,000,000 bps (un trilion)
Reprezentarea Numerelor Posibilități de reprezentare a numerelor întregi (baze de numerație): Baza 10 (reprezentarea obișnuită) Baza 2 (reprezentare binară) Baza 16 (reprezentarea hexazecimală) Sistemele de calcul operează cu numere reprezentate în forma binară.
Baza 10 Baza de numerație 10 folosește zece caractere pentru reprezentarea numerelor, cele zece caractere utilizate sunt: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Fiecărui caracter din componența numărului i se atribuie o putere a lui 10 crescătoare de la dreapta la stânga, începând cu puterea 0. 2 3 1 4 7 6 5 10 6 10 5 10 4 10 3 10 2 10 1 10 0 2314765 = 2 10 6 + 3 10 5 + 1 10 4 + 4 10 3 + 7 10 2 + 6 10 1 + 5 10 0
Baza 2 Forma binară Baza de numerație 2 folosește două caractere (0 și 1) pentru reprezentarea numerelor, fiecărui caracter din componența numărului i se atribuie o putere a lui 2 crescătoare de la dreapta la stânga, începând cu puterea 0. Conversia unui număr din baza 10 în reprezentare binară se realizează prin împărțiri succesive la 2 și memorarea restului 1 0 1 0 0 1 0 1 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 (10100101) 2 = (1 2 7 + 0 2 6 + 1 2 5 + 0 2 4 + 0 2 3 + 1 2 2 + 0 2 1 + 1 2 0 ) 10
Baza 2 Forma binară Reprezentarea numerelor în baza 2 se poate realiza utilizând un anumit număr de biți. Sistemele actuale de calcul de utilizează: 8, 16, 32, 64, 128 biți pentru reprezentarea valorilor numerice în baza 2. Gruparea a 8 biți poartă denumirea de 1 byte.
Baza 2 Forma binara Exemplu de reprezentare a numărului (239) 10 în baza 2 folosind un număr diferit de biți. (239) 10 = (11101111) 2 reprezentare pe 8 biți (239) 10 = (0000000011101111) 2 reprezentare pe 16 biți (239) 10 = (00000000000000000000000011101111) 2 reprezentare pe 32 biți
Baza 16 Baza de numerație 16 folosește șaisprezece caractere (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) pentru reprezentarea numerelor, fiecărui caracter din componența numărului i se atribuie o putere a lui 16 crescătoare de la dreapta la stânga, începând cu puterea 0. Conversia unui număr din baza 10 în reprezentare hexazecimala se realizează prin împărțiri succesive la 16 și memorarea restului 1 A 8 D 16 3 16 2 16 1 16 0 (1A8D) 16 = (1 16 3 + 10 16 2 + 8 16 1 + 13 16 0 ) 10
Reprezentarea Numerelor Baza 10 de numeraţie: Zece caractere: 0,1,2,3,4,5,6,7,8,9 Fiecare număr funcţie de poziţie are o putere a lui 10. Baza 2: Două caractere: 0,1 Fiecare număr funcţie de poziţie are o putere a lui 2. Baza 16 de numeraţie: 16 caractere: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Fiecare număr funcţie de poziţie are o putere a lui 16. Baza 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Baza 2 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Baza 16 0 1 2 3 4 5 6 7 8 9 A B C D E F
Conversia numerelor din baza 10 în baza 2 2 239 Rest 2 119 1 2 59 1 2 29 1 2 14 1 2 7 0 2 3 1 2 1 1 2 0 1 2 140 Rest 2 70 0 2 35 0 2 17 1 2 8 1 2 4 0 2 2 0 2 1 0 2 0 1 (239) 10 = (11101111) 2 (140) 10 = (10001100) 2
Conversia numerelor din baza 10 în baza 16 16 239 Rest 16 14 F 16 0 E 16 140 Rest 16 8 C 16 0 8 (239) 10 = (EF) 16 (140) 10 = (8C) 16
Reprezentarea Numerelor Negative Reprezentarea numerelor negative se face folosind reprezentarea în complement faţă de 2. Modalitatea de calcul a reprezentării: Se inversează fiecare bit al reprezentării în baza 2 (ex. 01001010 va trece în 10110101) Numărului rezultat prin inversare i se adaugă 1 Exemplu: 5 = 0101-5 va fi (inversat(0101)+1) = 1010+1 = 1011
Reprezentarea Numerelor Negative Reprezentarea numerelor în mărime şi semn ţine cont de faptul că bitul b7 (primul din partea stângă, cel mai semnificativ) este considerat ca fiind semnul numărului reprezentat în baza 2. b7 b6 b5 b4 b3 b2 b1 b0 Interpretarea bitului b7 este: b7= 0 numărul reprezentat de b6...b0 este pozitiv; b7= 1 numărul reprezentat de b6...b0 este negativ. 3+ 0011+ 5 0101 8 1000 3+ 0011+ 7 0111 10 1010 7+ 0111+ -5 1011 2 0010 2* 0010* 3 0011 0010 0010 6 000110
Exerciții 1. a. Reprezentați -5 în formă binară pe 8 biţi. b. Evaluaţi expresia 25+(-5) sub formă binară. c. Transformaţi rezultatul în baza 10. 2. Transformaţi următorul număr 1101011110101111 în formă hexazecimală. 3. Înmulţiţi 6 cu 8 în baza 2. 4. Înmulţiţi 6 cu -8 în baza 2. 2 3 2 2 2 1 2 0 8 4 2 1 2 3 2 2 2 1 2 0 8 4 2 1 2 3 2 2 2 1 2 0 8 4 2 1 2 3 2 2 2 1 2 0 8 4 2 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 13 7 10 15 D 7 A F
Operații logice la nivel de bit Asupra numerelor reprezentate în baza 2 se pot aplica următoarele operații logice la nivel de bit: Negația logică (NOT) reguli de calcul: 1 negat=0, 0 negat=1. SI Logic (AND) reguli de calcul: 1 SI 1=1, 1 SI 0=0, 0 SI 0 =0. SAU Logic (OR) reguli de calcul: 1 SAU 1=1, 1 SAU 0=1, 0 SAU 0 =0.
Operații logice la nivel de bit NOT 0111 (7) = 1000 (8) AND 0101 (5) AND 0011 (3) 0011 (3) = 0010 (2) = 0001 (1) 0010 (2) OR 0101 (5) 0011 (3) = 0111 (7) OR 0010 (2) 1000 (8) = 1010 (10)
Evaluarea expresiilor logice Operatoriilor logice NOT, AND, OR le sunt atribuite următorii operatori: Operația logică NOT are operatorul (! ) Operația logică AND are operatorul ( && ) Operația logică OR are operatorul ( ) In urma evaluării unei expresii logice se obține un singur răspuns : adevărat sau fals.
Evaluarea expresiilor logice Pentru următoarele exemple considerăm: a=3, b=5, c=9. Expresii logice: (a>b) = fals!(a>b) = adevărat (c>a) = adevărat!(c>a) = fals (a>b)&&(c>a) = fals!(a>b)&&(c>a) = adevărat (a>b) (c>a) = adevărat!((a>b) (c>a)) = fals (!(c>a)&&(a>b)) (c>a) = adevărat
Exerciții Realizați conversia următoarelor numere din baza 10 în baza 2 folosind reprezentări pe 8 biți și 16 biți: 16, 32, 48, 63, 64, 128, 250, 255, 1024, 1280, 2048, 2050, 10000, 65535. Realizați conversia următoarelor numere din baza 10 în baza 2 folosind reprezentări pe 8 biți și 16 biți: -16, -32, -48, -63, -64, -128, -250, -255, -1024, -1280, -2048, -2050, -10000, - 32764.
Exerciții Realizați următoarele operații folosind reprezentarea numerelor în baza 2: 25+128= 68+165= -32+128= -89-67= 129-47= 253+(-15)= 12-158=
Exerciții Realizați conversia în baza 2 pe 8 biți și aplicați operațiile logice NOT, AND, OR la nivel de bit asupra următoarelor numere (sau combinații ale acestora): 27, 35, 87, 96, -111, -145, 198, 243,-243
Exerciții Realizați conversia următoarelor numere din baza 10 în baza 16: 16, 32, 48, 63, 64, 128, 250, 255, 1024, 1280, 2048, 2050, 10000, 65535. Realizați următoarele operații folosind reprezentarea numerelor în baza 16: 25+128= 68+165= 32+128= 89-67= 129-47= 223+15= 192-158=
Exerciții Considerând a=23, b=89, c= 162 realizați următoarele operații la nivel de bit:!a=,!b=,!c=, a&b=, a b=, b&c=, c b=,!a&!b=,!(c a)=,!(a&c)=, (a b)&(a&b)=. Considerând a=23, b=89, c= 162 evaluați următoarele expresii logice: a<b=, c>a=, (b<c)&&(b<a)=,!(a>b)!(c>a)=,!(a>b)=,!(b>c) (a<b)=,!((a<c)&&!(c>a))=.