Esercitazioni M1 UD2 LAB

Transcript

Esercitazioni M1 UD2 LAB
ESERCITAZIONE UNITÀ DIDATTICA 2
La codifica in binario
Lunghezza di un codice binario
Per rappresentare M simboli diversi (parole) mutuamente esclusivi, con un codice binario,
la lunghezza m della sequenza di bit del codice deve soddisfare la seguente relazione:
Dove:
log indica il logaritmo, cioè l’esponente che deve essere dato alla base per ottenere M=2m
indica il valore intero superiore, cioè l’arrotondamento per eccesso.
Esempi
a) Dato M = 15 simboli calcolare la lunghezza del codice binario.
Soluzione
Applicando la relazione (1) si ottiene
Dato che il log2 15 =3,xx (con 23 =9 e 24=16) quindi viene arrotondato per eccesso a 4.
b) Dato M = 50 simboli calcolare la lunghezza del codice binario.
Soluzione
Applicando la relazione (1) si ottiene
Dato che il log2 50=5,xx (con 25=32 e 26=64) quindi viene arrotondato per eccesso a 6.
c) Dato M = 100 simboli calcolare la lunghezza del codice binario.
Soluzione
Applicando la relazione (1) si ottiene
Dato che il log2 100=6,xx (con 26=64 e 27=128) viene arrotondato per eccesso a 7.
d) Dato M = 128 simboli calcolare la lunghezza del codice binario.
Soluzione
Applicando la relazione (1) si ottiene
Dato che il log2 128 =7 e 27 è proprio uguale a 128.
Individua la lunghezza minima di un codice che permetta di rappresentare le lettere
dell’alfabeto anglosassone ed i numeri.
Soluzione
Le lettere dell’alfabeto anglosassone sono 26, quindi se consideriamo che minuscole e
maiuscole devono avere una codifica diversa otteniamo simboli =2 x 26 = 52
Aggiungendo i dieci simboli per le cifre numeriche otteniamo simboli = 52 + 10 =62.
Applicando la relazione (1) si ottiene
Dato che il log2 62 =5,xx (con 25=32 e 26=64) quindi viene arrotondato per eccesso a 6.
Il codice ASCII
Nel codice ASCII (American Standard Code for Information Interchange) oltre ai caratteri
vengono codificati anche simboli di controllo, parentesi e punteggiatura per un totale di
128 caratteri: utilizza quindi 7 cifre binarie (la cifra più significativa viene messa a 0).
Vai all’indirizzo codificato nel seguente messaggio binario:
01101000
01110111
01110010
00101110
01110100
01110111
01110100
01100011
01110100
00101110
01100010
01101111
01110000
01100011
01101001
01101101
00111010 00101111 00101111 01110111
01101111 01101110 01110110 01100101
01101110 01100001 01110010 01111001
00101111
01100101
01100001
01101101
01100100
00100000
00100000
01100101
01101001
Decodifica il seguente messaggio
01000011
01110101
01101101
01110100
01100011
01101111
01101111
01100001
01100001
01101000
01101101
01101110
01110010
00100000
01101001
11101000
01101100
01101100
00100000
00100000
01100001
01101100
01100110
01100010
00100000
01100001
01101001
(dove 11101000 = è in unicode).
ASCII ART
Con ASCII ART si intende l’utilizzo dei caratteri ASCII per convertire una immagine: si
realizza un disegno solo utilizzando un miscuglio di lettere, numeri e simboli che non
sembrano avere alcun significato fino a quando vi allontanate e guardate l’immagine nel
suo insieme.
Guardate da vicino le due immagini seguenti e successivamente allontanate il foglio
E’ facile riconoscere Monna Lisa e Marilyn Monroe
La ASCII Art ha una lunga storia ed i primi programmi stampavano queste immagini sul
Commodore 64 a metà degli anni 80.
a) Un semplice programma che trasforma le immagini in caratteri ASCII lo trovi all’indirizzo
http://www.glassgiant.com/ascii/
Prova a trasformare una immagine TIFF, una JPEG ed una BMP aventila stessa
dimensione a video in caratteri ASCII
Cosa puoi osservare?
b) Scarica ora dalle risorse on-line al sito http://www.hoepliscuola.it nella sezione dedicata
a questo corso il programma XVI32, che è un semplice editor di file binari.
Apri un semplice file di tipo bmp e prova a modificare l’immagine per trasformarla in una
ASCII ART, come nel seguente esempio: