Trasferimento Ambiente esterno Controllo Elaborazione Informatica Memorizzazione Mario Pavone - Dept. Mathematics & Computer Science - University of Catania mpavone@dmi.unict.it
Rappresentazione dell Informazione Rappresentazione delle Informazioni L informazione viene rappresentata mediante sequenze di bit. Ogni parola, o testo, o dato numerico, o immagine, o suono viene codificato come configurazioni di bit. il BIT (binary digit) è la più piccola unità di informazione memorizzabile o elaborabile da un calcolatore
Byte Byte Byte: unità di misura della capacità di memorizzare informazione Si utilizzano i multipli dei byte ~ un migliaio (1024) Kilo KB 210 Mega MB 220 ~ un milione (1KB*1024) ~ un miliardo (1MB*1024) Giga GB 230 ~ mille miliardi (1GB*1024) Tera TB 240 Quanta memoria occupa un file: si misura in byte La capacità di memorizzazione di un dispositivo hardware si misura in byte (capacità di RAM, hard-disk) Viviana Patti Informatica di base - 11/11/04
Codifica Binaria dell Informazione Rappresentazione dei Valori Numerici (2/2) Riassumendo: 1 bit => 2=21 informazioni; 2 bit => 4=22 informazioni; 3 bit => 8=23 informazioni; In generale: N bit => 2N informazioni. Esempio: Esempio Per rappresentare 57 informazioni è necessario utilizzare una sequenza di 6 bit.
Sequenze di Bit e Codifiche Sequenze di bit e codifiche Numero di bit nella sequenza 1 2 3 Informazioni rappresentabili 2 4 8 4 5 16 32 6 64 7 128 8 256 Viviana Patti Informatica di base - 11/11/04
Conversione dalla base 10 alla base 2 Bisogna dividere la base 10 per 2 fino a quando il quoziente intero della divisione è zero. Esempio: consideriamo il numerale 34510 e cerchiamo la rappresentazione binaria corrispondente: Leggendo i resti dal basso verso l alto si ha la rappresentazione binaria del numero 34510. 345/2 = 172 resto 1 172/2 = 86 resto 0 86/2 = 43 resto 0 43/2 = 21 resto 1 21/2 = 10 resto 1 10/2 = 5 resto 0 5/2 = 2 resto 1 2/2 = 1 resto 0 1/2 = 0 resto 1
Un Algoritmo per trovare la rappresentazione binaria di un intero positivo
Decodifica Binaria Rappresentazione Binaria (2/2) Considerato il numerale: cn cn-1 c1 c0 in cui ogni ci è la cifra 0 o 1, rappresenterà il numero: c0*20 + c1*21 + + cn-1*2n-1 + cn*2n
Decodifica di rappresentazioni Binarie Esempi: Il numerale 1011 denota il numero: 1*20 + 1*21 + 0*22 + 1*23 = 1110 il numerale 100101 denota il numero: 1*20 + 0*21 + 1*22 + 0*23 + 0*24 + 1*25 = 3710 il numerale 1010001 denota il numero: 1*20 + 0*21 + 0*22 + 0*23 + 1*24 + 0*25 + 1*26 = 8110
Decodifica di rappresentazioni Binarie Esempi: Il numerale 1011 denota il numero: 1*20 + 1*21 + 0*22 + 1*23 = 1110 il numerale 100101 denota il numero: 1*20 + 0*21 + 1*22 + 0*23 + 0*24 + 1*25 = 3710 il numerale 1010001 denota il numero: 1*20 + 0*21 + 0*22 + 0*23 + 1*24 + 0*25 + 1*26 = 8110
Decodifica di rappresentazioni Binarie Esempi: Il numerale 1011 denota il numero: 1*20 + 1*21 + 0*22 + 1*23 = 1110 il numerale 100101 denota il numero: 1*20 + 0*21 + 1*22 + 0*23 + 0*24 + 1*25 = 3710 il numerale 1010001 denota il numero: 1*20 + 0*21 + 0*22 + 0*23 + 1*24 + 0*25 + 1*26 = 8110
Decodifica di rappresentazioni Binarie Esempi: Il numerale 1011 denota il numero: 1*20 + 1*21 + 0*22 + 1*23 = 1110 il numerale 100101 denota il numero: 1*20 + 0*21 + 1*22 + 0*23 + 0*24 + 1*25 = 3710 il numerale 1010001 denota il numero: 1*20 + 0*21 + 0*22 + 0*23 + 1*24 + 0*25 + 1*26 = 8110
Decodifica di rappresentazioni Binarie Esempi: Il numerale 1011 denota il numero: 1*20 + 1*21 + 0*22 + 1*23 = 1110 il numerale 100101 denota il numero: 1*20 + 0*21 + 1*22 + 0*23 + 0*24 + 1*25 = 3710 il numerale 1010001 denota il numero: 1*20 + 0*21 + 0*22 + 0*23 + 1*24 + 0*25 + 1*26 = 8110
Decodifica di rappresentazioni Binarie Esempi: Il numerale 1011 denota il numero: 1*20 + 1*21 + 0*22 + 1*23 = 1110 il numerale 100101 denota il numero: 1*20 + 0*21 + 1*22 + 0*23 + 0*24 + 1*25 = 3710 il numerale 1010001 denota il numero: 1*20 + 0*21 + 0*22 + 0*23 + 1*24 + 0*25 + 1*26 = 8110
Operazioni sui numeri binari Lo stesso procedimento che utilizziamo per i numeri decimale può essere utilizzato per le operazioni di somma in base due. L unica differenza è che si devono effettuare i riporti quando la somma supera il valore 1. Regole di base:
Esempi di Somma Binaria 5 + 3 = 8 25 + 21 = 46 117 + 109 = 226 0101 + 0011 = 1000 011001 + 010101 = 101110 01110101 + 01101101 = 11100010
Esercizi sul Sistema Binario Convertire le seguenti rappresentazioni binarie nel formato in base 10 equivalente: a.101010, b. 100001, c. 10111, d. 0110, e. 11111 Convertire le seguenti rappresentazioni in base dieci nel formato binario equivalente: a. 32, b. 64, c. 96, d. 15, e. 27 Eseguire le seguenti somme in binario: a.32 + 27, b. 96 +15, c. 64 + 11
Esercitazione Algoritmi Esercitazione+su+PseudoCodice+ Scrivere+un+algoritmo+in+grado+di+calcolare+la+ somma+di+due+numeri+interi+ Scrivere+un+algoritmo+che+scambi+i+valori+di+ due+variabili+ Scrivere+un+algoritmo+che+determini+se+un+ numero+leao+in+input+è+pari+o+disparisi-faccia-uso-dell istruzione-modulo-(%)- 21+ Scrivere un algoritmo che calcoli la media aritmetica di 2 numeri qualsiasi
Esercitazione Algoritmi Esempio+ Scrivere+un+algoritmo+in+grado+di+calcolare+la+ somma+di+n+numeri+interi+ Scrivere+un+algoritmo+che+lem+N+numeri+ res/tuisca+in+output+il+max+e+il+min+ Scrivere+un+algoritmo+in+grado+di+calcolare++ n 2 i i=0
Esempio di esercizio d esame Il risultato della somma binaria dei numeri 001110100101 e 011101100011 è: a. 010110000100 b. 101100001000 c. 100010001001 d. 101000001000 Il numero binario 0111 1001 1010 corrisponde al numero decimale: Il numero binario corrispondente alla cifra decimale 624 è: a. 000101110010 b. 010011100000 c. 000100111000 d. 001001110000 a. 3994 b. 922 c. 1946 d. 1882
Esempio di esercizio d esame Dato il numero binario x=010001101100 e il numero decimale y=1134, indicare quale delle seguenti affermazioni è vera: a. x = y b. x > y c. x < y d. nessuna delle precedenti perché non confrontabili Scrivere un algoritmo che legga e memorizzi N numeri interi, e restituisca in output YES se esiste almeno un numero con 5 occorrenze; NO altrimenti., Scrivere un algoritmo che legga e memorizzi N numeri interi, e indichi in output se la sequenza degli N numeri memorizzata è palindroma. Scrivere un algoritmo che legga e memorizzi N numeri interi, e restituisca in output (1) la media degli N numeri; (2) il minimo e (3) il massimo.