









































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
codifica e decodifica informatica generale con gli esercizi
Tipologia: Appunti
1 / 49
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!










































Università degli Studi di Torino
o d i f i c e d e c o d i f i c
BLA BLA BLA BLA …. 0010101110100111011...
informazione gestibile
da un utente umano
rappresentazione
digitale
o d i f i c e d e c o d i f i c
L’entità minima di informazione che possiamo trovare all’interno di un
elaboratore prende il nome di bit (Binary digit). Un bit può assumere solo due
valori: 0 e 1.
Le ragioni della scelta di una rappresentazione binaria sono prevalentemente di
carattere tecnologico , ossia dipende da come funzionano i dispositivi che
costituiscono il computer. Questi dispositivi difatti sono bistabili , cioè assumono
sempre uno stato fra due possibili:
●
stati di polarizzazione di una sostanza magnetizzabile positivo/negativo;
●
stati di carica elettrica di una sostanza positivo/negativo;
●
passaggio/non passaggio di corrente attraverso un conduttore;
●
passaggio/non passaggio di luce attraverso una fibra ottica.
Questi 2 possibili stati fisici possono essere naturalmente tradotti nei simboli
numerici del sistema binario: 1 e 0.
o d i f i c e d e c o d i f i c
Un singolo bit può rappresentare due stati, o due entità.
Per poter rappresentare un numero maggiore di oggetti si usano
sequenze di bit. Ad esempio, con due bit è possibile rappresentare
quattro entità.
●
Nel mondo delle figure geometriche:
o d i f i c e d e c o d i f i c
La sequenza di bit di lunghezza 8 (
8
= 256 informazioni) prende il
nome di byte. Il byte è usato come unità di misura per indicare la
capacità della memoria, e la dimensione dei file. Date le dimensioni
odierne di memoria e file, comunemente si usano i multipli di byte:
Kilobyte KB 2
10
byte
≈ un migliaio di byte [1024]
Megabyte MB 2
20
byte
≈ un milione di byte [1024*KB]
Gigabyte GB 2
30
byte
≈ un miliardo di byte [1024*MB]
Terabyte TB 2
40
byte
≈ mille miliardi di byte [1024*GB]
o d i f i c e d e c o d i f i c
Il primo problema che si presenta se vogliamo poter comunicare con il
computer usando il nostro linguaggio è quello di poter rappresentare un
alfabeto di caratteri :
in totale si tratta di un alfabeto di 220 caratteri circa
considerando che ho bisogno di associare a ogni carattere una
sequenza di bit univoca (codice numerico), ho bisogno di ...
...almeno 8 bit (1 byte)!
o d i f i c e d e c o d i f i c
Una volta decisa la codifica da usare per i caratteri, è possibile codificare
una parola come la sequenza di bit dei caratteri che la compongono.
Per codificare un testo (contenente parole e punteggiatura, come spazi,
tabulazioni ed a capo), è sufficiente concatenare la sequenza di parole e
caratteri di punteggiatura che lo compongono. Il numero di byte necessari
alla sua codifica dipenderà quindi dal numero di caratteri e segni di
punteggiatura presenti nel testo.
Esempio:
●
codifica del testo: “il Po!”
i l P o!
●
decodifica della sequenza di bit: “01010000011011110110100100100001”
P o i!
o d i f i c e d e c o d i f i c
volumi di 1000 pagine codificati in ASCII esteso
possono essere contenuti in un hard disk da 400 MB?
bisogno per codificarlo?
o d i f i c e d e c o d i f i c
Lo standard di codifica ASCII (così come le altre codifiche standard)
permette di codificare cifre decimali da 0 a 9 come caratteri : è quindi
possibile, utilizzando tale codifica, rappresentare numeri come sequenze
di caratteri.
esempio: codifica ASCII di 2002:
Problema: con questo tipo di rappresentazione non è possibile
effettuare operazioni aritmetiche tra numeri!
●
per permettere di utilizzare le operazioni tra numeri, questi vengono
codificati in una maniera differente rispetto ai caratteri.
●
La codifica dei numeri si rifà alle leggi di conversioni di numeri in basi
differenti!
o d i f i c e d e c o d i f i c
Nella notazione posizionale dei numeri, quella che usiamo normalmente,
ogni cifra di un numero assume un certo valore in funzione della sua
posizione.
●
Un sistema differente era quello usato dagli antichi romani, che era
additivo anziché posizionale.
Esempio: in base 10 (quella che usiamo usualmente), la notazione compatta 365
sta per
3 x 100 + 6 x 10 + 5 x 1 o più precisamente
3 x 10
2
1
0
in notazione esplicita
Ogni numero si esprime quindi come la somma dei prodotti di ciascuna
cifra per la base elevata all’esponente che rappresenta la posizione della
cifra (partendo da 0, da destra verso sinistra).
La notazione posizionale può essere usata con qualunque base , non
solo quella decimale, creando così differenti sistemi di numerazione!
o d i f i c e d e c o d i f i c
Per convertire un numero da una qualunque base b alla base 10 è
sufficiente rappresentare esplicitamente i calcoli.
esempi:
da base 2 a base 10 :
101001
2
= 1 x 2
5
4
3
2
1
0
=
= 32
10
10
10
= 41
10
da base 8 a base 10:
2007
8
= 2 x 8
3
2
1
0
=
= 1024
10
10
= 1031
10
da base 16 a base 10:
B7FC
16
= 11 x 16
3
2
1
0
=
= 45056
10
10
10
10
= 47100
10
o d i f i c e d e c o d i f i c
Per convertire un numero dalla base 10 ad una qualunque base b occorre
trovare tutti i resti delle successive divisioni del numero per la base b.
esempio: convertire 210
10
in base 2
divido 210 per 2 210 : 2 = 105 x 2 + 0 ... e memorizzo 0
divido 105 per 2 105 : 2 = 52 x 2 + 1 ... e memorizzo 1
divido 52 per 2 52 : 2 = 26 x 2 + 0 ... e memorizzo 0
divido 26 per 2 26 : 2 = 13 x 2 + 0 ... e memorizzo 0
divido 13 per 2 13 : 2 = 6 x 2 + 1 ... e memorizzo 1
divido 6 per 2 6 : 2 = 3 x 2 + 0 ... e memorizzo 0
divido 3 per 2 3 : 2 = 1 x 2 + 1 ... e memorizzo 1
divido 1 per 2 1 : 2 = 0 x 2 + 1 ... e memorizzo 1
riscrivendo i resti in ordine inverso ottengo 11010010
2
( = 210
10
)
o d i f i c e d e c o d i f i c
Le basi ottale ed esadecimale non sono realmente usate dai computer,
ma servono per noi umani , per rappresentare in maniera compatta le
informazioni codificate in base binaria.
La conversione da base binaria a queste a queste due basi è semplice,
basta:
●
separare i bit del numero binario in gruppi, da destra a sinistra,
contenenti 3 bit per la base ottale o 4 bit per la base esadecimale;
●
per ogni sequenza di bit, trovare l’equivalente nella base 8 o 16;
●
scrivere il numero ottenuto concatenando le cifre.
La conversione da queste due basi alla base binaria funziona all’inverso.
Esempio: conversione di 111110011001
2
●
Ottale: 111 110 011 001 ↔ 7 6 3 1 ↔ 7631
8
●
Esadecimale: 1111 1001 1001 ↔ F 9 9 ↔ F
16
o d i f i c e d e c o d i f i c
16
10
10
2
16
2
16
7
5