Scarica appunti di informatica, la codifica e più Appunti in PDF di Informatica Industriale solo su Docsity!
INFORMATICA E TECNOLOGIE DELLA COMUNICAZIONE
A.A.2019/
CODIFICA DIGITALE DELL’INFORMAZIONE
Corso di Laurea in Comunicazione, Tecnologie e Culture Digitali- L
- Computer rappresentano, elaborano, memorizzano, copiano e trasmettono tutto sotto forma di numeri
- Le informazioni all’interno di un calcolatore sono rappresentate tramite circuiti elettronici bistabili.
- E’ possibile rappresentare solo due stati, che convenzionalmente indichiamo con i simboli 0 e 1 per questo parliamo di “computer digitali”
- I numeri possono rappresentare qualsiasi cosa
- non solo i numeri su cui si eseguono operazioni aritmetiche
- Il significato dipende dal contesto
- e lo stesso vale per ciò che i numeri rappresentano
- per esempio, i numeri che arrivano al computer o al telefono dalla connessione wi-fi potrebbero essere e-mail, film, musica, documenti, applicazioni, chiamate Skype… Codifica delle informazioni
Codici binari
- Un codice mette in relazione informazioni o loro rappresentazioni con un insieme di simboli.
- Esempi sono il codice fiscale o i codici a barre.
- I codici binari rappresentano le informazioni come sequenze di bit.
- proprio come i decimali, ma ci sono solo due cifre: 0 e 1
- tutto si basa sulle potenze di 2 (1, 2, 4, 8, 16, 32 ...)
- invece delle potenze di 10 (1, 10, 100, 1000 ...)
- contare in binario o in base 2:
- 1 cifra binaria rappresenta 1 scelta tra 2;
- 2 cifre binarie rappresentano 1 scelta tra 4;
- 4 valori distinti: { 00 , 01 , 10 , 11 }
- 3 cifre binarie rappresentano 1 scelta tra 8;
- 8 valori distinti: {000, 001, 010, 011, 100, 101, 110, 111 }
- …
Codici Binari
- Poiché un bit può assumere solo due valori, il numero totale di combinazioni distinte di n bit vale 2 n
- Ad esempio con 3 bit avremo 23 =8 diverse combinazioni distinte,
- Con 5 bit le combinazioni saranno 32 e con 10 bit si avranno 1024 combinazioni distinte.
- 1 bit = 2 possibilità
- 2 bit = 4 possibilità
- 3 bit = 8 possibilità
- ...
- n bit = 2n
- 210 = 1.024 è circa 1.000 o 1K o 103
- 220 = 1.048.576 è circa 1.000.000 o 1M o 10^6
- 230 = 1.073.741.824 è circa 1.000.000.000 o 1G o 10^9
- l’approssimazione diventa sempre meno buona, ma è comunque sufficiente per le stime
- la terminologia è spesso imprecisa:
- “1K” può significare 1000 o 1024 (10^3 o 2^10 )
- “1M” può significare 1.000.000 o 1.048.576 (10^6 o 220 ) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Byte
- “byte” = gruppo di 8 bit trattati come unità.
- sulle macchine moderne, l’unità fondamentale dell’elaborazione e dell’indirizzamento della memoria.
- può codificare uno qualsiasi dei 2^8 = 256 valori diversi, per esempio numeri 0 ... 255 o una singola lettera come A o cifre come 7 o segni di interpunzione e segni speciali come $
- Il set di caratteri ASCII definisce i valori di lettere, cifre, punteggiatura ecc.
- 2 byte raggruppati rappresentano entità più grandi
- due byte (16 bit) possono rappresentare 2^16 = 65536 valori
- un intero più grande, un carattere in un set di caratteri più grande
- Il set di caratteri Unicode definisce i valori per quasi tutti i caratteri ovunque
- 4 byte raggruppati rappresentano entità ancora più grandi
- quattro byte (32 bit) possono rappresentare 2^32 = 4.294.967.296 valori
- un numero intero ancora più grande, un numero con una parte frazionaria (virgola mobile), un indirizzo di memoria
- le macchine attuali utilizzano numeri interi e indirizzi a 64 bit (8 byte)
- 264 = 18,446,744,073,709,551,
- non ci sono byte frazionari: il numero di byte è sempre un intero
L'interpretazione dei bit dipende dal contesto
- Il significato di un gruppo di bit dipende da come vengono interpretati.
- 1 byte potrebbe essere:
- 1 bit in uso, 7 bit sprecati (per esempio, M/F in un database)
- 8 bit che rappresentano un numero compreso tra 0 e 255
- un carattere alfabetico come W o + o 7
- parte di un carattere in un altro alfabeto o sistema di scrittura (2 byte)
- parte di un numero maggiore (2 o 4 o 8 byte, di solito)
- parte di un’immagine o di un suono
- parte di un’istruzione che un computer deve eseguire
- le istruzioni sono solo bit, memorizzati nella stessa memoria dei dati
- diversi tipi di computer utilizzano diversi schemi di bit per le istruzioni: laptop, cellulare, console di gioco, ecc, tutti potenzialmente diversi - parte della posizione o dell’indirizzo di qualcosa in memoria - ...
- quelle che per un programma sono istruzioni, sono dati per un altro programma - quando si scarica un nuovo programma dalla rete, sono dati - quando lo si esegue, sono istruzioni
Sistemi di numerazione
- Un sistema di numerazione è costituito da:
- un insieme di simboli elementari ( cifre )
- un insieme di regole che definiscono come rappresentare un numero mediante sequenze di cifre
- I sistemi di numerazione si dividono in:
- posizionali (sistema arabo da cui deriva il nostro sistema decimale)
- non posizionali (es. sistema romano)
Sistemi posizionali
- Esempio di sistema di numerazione posizionale in base 10 : 252 = 2 × 100 + 5 × 10 + 2 × 1 = 2 × 10 2 + 5 × 10 1 + 2 × 10 0
Conversione di base (binario decimale)
- Si applica la definizione di sistema posizionale applicando la regola dei pesi: 1101 2
= 1 × 2
3
- 1 × 2 2
- 0 × 2 1
- 1 × 2 0 = 8 + 4 + 0 + 1 = 13 10
Conversione di base (decimale binario)
- Si applica la regola delle divisioni successive:
- divisioni (intere, ossia quoziente e resto) successive per due
- si prendono i resti in ordine inverso
- Algoritmo
- ripeti finché il numero è > 0:
- dividi il numero per 2
- scrivi il resto (0 o 1)
- utilizza il quoziente come numero e ripeti
- la risposta è la sequenza risultante in ordine inverso (da destra a sinistra)
Rappresentazione dei numeri relativi
- Un numero relativo di N bit è rappresentato con il bit più a sinistra che indica il segno, secondo la convenzione: 0 (segno +), 1 (segno - )
- I restanti bit assumono valori diversi a seconda si utilizzi la: - Rappresentazione in modulo e segno - Rappresentazione in complemento a due (non lo vedremo ma è quello più utilizzato)
Modulo e segno Il bit più significativo rappresenta il segno. I restanti bit rappresentano il modulo. Esempio su un byte: 1 0 1 0 1 0 2 5 1 2 6 0 S byte 2 4 2 3 2 2 2 1 2 0
Modulo e segno 0 1 1 + 0 1 0 + 0 0 1 + 0 0 0 0 1 1 1 - 3 1 1 0 - 2 1 0 1 - 1 1 0 0 0
Rappresentazione dei numeri razionali e reali
- Possono essere rappresentati con parte intera e frazionaria (fixed point ) oppure mediante la notazione scientifica ( floating point )
- +78,54 (fixed point)
- +0,7854 x 10