Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione
Rappresentazione dellInformazione parte 1
Rappresentazione dellinformazione Varie rappresentazioni sono possibili per la medesima informazione –Es. Testo scritto su carta o registrato su rastro Rappresentazioni R1 e R2 sono equivalenti se data R1 è possibile ricavare R2 e viceversa –Es. Trascrizione del testo data la sua registrazione e viceversa Scelta della rappresentazione –Spesso convenzionale... –... ma spesso legata a vincoli –Es. Rappresentazione binaria negli elaboratori
Rappresentazione binaria (o digitale) Informazione codificata con i simboli 0 e 1 Motivazioni di carattere tecnologico –due stati di carica elettrica di una sostanza –due stati di polarizzazione di una sostanza magnetizzabile –passaggio/non passaggio di corrente in un conduttore –passaggio/non passaggio di luce in un cavo ottico Bit –cifra binaria – binary digit –Rappresentazione di uninformazione elementare che convenzionalmente è indicata dai simboli 0 e 1
bit e sequenze di bit Un bit: si possono rappresentare 2 informazioni –1 e 0 (rappresentazione convenzionale del valore dei bit) –vero e falso –bianco e nero Sequenze di bit: si possono rappresentare più info –2 bit: 4 configurazioni possibili (00, 01, 10, 11) –3 bit: 8 configurazioni (000, 001, 010, 011, 100, 101, 110, 111)... –8 bit (1 byte): 2 8 configurazioni... –N bit: 2 N configurazioni
Codifica dellinformazione Processo di associazione di informazioni a configurazioni di bit È una convenzione ma deve necessariamente essere condivisa tra chi deve condividere linformazione
Kb, Mb e Gb 1 Kb (kilobyte) –= 1000 byte? No! –1 Kb = 2 10 byte = 1024 byte [2 0 = 1, 2 1 = 2, 2 2 = 4, 2 3 = 8, 2 4 = 16, 2 5 = 32, 2 6 = 64, 2 7 = 128, 2 8 = 256, 2 9 = 512, 2 10 = 1024] 1 Mb (megabyte) –solitamente approssimato a 1 milione di byte –precisamente =1024 Kbyte = 1024 X 1024 byte = byte 1 Gb (gigabyte) = circa 1 miliardo di byte
Quanti bit per M informazioni? Determinare x (numero di bit) tale che 2 x M –Es. x = 6 per M = 50 –Infatti 2 5 = 32 (insufficiente) –Mentre 2 6 = 64 Per lalfabeto anglosassone –26 lettere M = 26 –x tale che 2 x 26 –x = 5 –Es = a, 00001= b, = c, … ma in realtà...
La codifica dei caratteri Standard ASCII (American Standard Code for Information Interchange) –Non è lunico standard anche se il più diffuso –es. EBCDIC, UNICODE
ASCII Con sequenze di 7 bit (128 configurazioni) sono codificati –i 52 simboli dellalfabeto anglosassone (26 maiuscole e 26 minuscole) –le 10 cifre –i segni di punteggiatura –gli operatori aritmetici –alcuni caratteri speciali %, $, [, ],...)
ASCII esteso 8 bit = 256 configurazioni –Prime 128 configurazioni (tutte precedute da 0) corrispondono alle 128 configurazioni dellASCII standard –Seguono altre codifiche di caratteri speciali (es. lettere accentate dei vari alfabeti: à, è, é, ü, ï, ç, ê...) Standard non universalmente riconosciuto da tutte le applicazioni e sistemi operativi
Dallitaliano allASCII... Per scrivere in ASCII una parola (della lingua italiana), si mettono in sequenza le codifiche ASCII dei caratteri che compongono la parola a n i m a
…e ritorno viceversa, per capire che cosa significa una sequenza di caratteri ASCII: –si spezza la sequenza in sequenze di 8 bit –si fa corrispondere a ogni sequenza il carattere opportuno a n i m a
La codifica dei numeri Rappresentazione ASCII delle cifre –può funzionare per numeri allinterno di testi –non è conveniente per elaborazioni numeriche spreco di spazio (primi 3 bit sempre uguali) problema per la gestione (e.g. operazioni aritmetiche) efficiente Es
Notazione posizionale (decimale) 354, ossia 3 centinaia, 5 decine, 4 unità 3 * * * 10 0 con 3 cifre posso rappresentare i numeri da 0 a 999: 1000 numeri, pari a 10 3 (la base 10 elevata a potenza, con esponente uguale al numero di cifre che uso)
Notazione posizionale (in generale) c n *10 n + c n-1 *10 n-1 +… + c 1 * c 0 *10 0 –dove i coefficienti c i possono essere le cifre da 0 a 9 con N cifre posso rappresentare i 10 N numeri da 0 a 10 N -1
Notazione posizionale (binaria) sostituendo 10 con 2: –c 0 * c 1 * c 2 *10 2 +…+ c n *10 n –c 0 *2 0 + c 1 *2 1 + c 2 *2 2 +…+ c n *2 n dove i coefficienti c i possono essere 0 o 1 con N cifre riesco a rappresentare i 2 N numeri da 0 a 2 N -1
Conversione da notazione binaria a decimale Es. la sequenza binaria 1011 rappresenta il numero: 1* * * *2 0 = 1*8 + 0*4 + 1*2 + 1*1 = 11 (in base 10) Generalmente si indica: = 11 10
Conversione da notazione binaria a decimale Es. la sequenza binaria 1011 rappresenta il numero: 1* * * *2 0 = 1*8 + 0*4 + 1*2 + 1*1 = 11 (in base 10) Generalmente si indica: = 11 10
Conversione da decimale a binario divido il numero per 2: il resto è la cifra c 0 divido il risultato per 2: il resto è la cifra c 1 divido il risultato per 2: il resto è la cifra c 2 mi fermo quando il risultato è 0 (eventualmente con resto 1)
Conversione da decimale a binario Conversione di /2=14R = 1 (c 0 ) 14/2=7R = 0 (c 1 ) 7/2=3R = 1 (c 2 ) 3/2=1R = 1 (c 3 ) 1/2=0R = 1 (c 4 )