Rappresentazione dell’informazione - Intranet...

30
Rappresentazione dell’informazione

Transcript of Rappresentazione dell’informazione - Intranet...

Page 1: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Rappresentazione dell’informazione

Page 2: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Informazione analogica e digitale

Page 3: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Rappresentazione dell’informazione

• Il primo tipo di informazione che si presta ad essere rappresentato rigorosamente è l’informazione numerica– n aste per rappresentare il numero n (numerazione unaria)

– ëlogk(n)û + 1 cifre per rappresentare il numero n in base k

Page 4: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Bit = binary digit

• Con un bit si possono rappresentare due informazioni diverse– 0/1, vero/falso, acceso/spento

• 1 byte = 8 bit• Informazioni più complesse richiedono un numero

variabile di bit– Con N bit si possono rappresentare 2N informazioni diverse• N = 2 -> 00, 01, 10, 11

Page 5: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Informazione non numerica

• Informazione testuale (caratteri)• Informazione grafica (forme geometriche)• Informazione musicale (digitalizzata o no)• Fotografie• Video

Page 6: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Testo

• ASCII (American Standard Code for Information Interchange)– 7 o 8 bit usati per rappresentare 128/256 caratteri

• A ogni lettera (le maiuscole da A a Z, le minuscole da a a z), cifra (da 0 a 9) separatore o simbolo viene assegnato un numero naturale rappresentabile in forma binaria – Ad esempio “A” viene codificata in ASCII come numero 65 e la sua

forma binaria è 01000001– Il separatore “;” viene codificato come 59 e la sua forma binaria

è 00111011

Page 7: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Immagini

• Quadradito = pixel• Ogni pixel può assumere n colori diversi– 2 colori (1 bit)– 1024 colori (10 bit)

Page 8: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Esempio

• RGB è un modello di colori– Specifiche descritte nel 1931

da CIE (Commission internationale de l'éclairage)

– Si basa sui tre colori rosso(Red), verde (Green) e blu(Blue)

Page 9: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Codifica

• Numeri naturali

• 1716150413120110 = 128+64+32+8+4+1 = 237• Generalizzabile ad altre basi

– Da base due a base 8 (o 16) e viceversa è più facile. Perché?

237 : 2 = 118 resto 1

118 : 2 = 59 resto 0

59 : 2 = 29 resto 1

29 : 2 = 14 resto 1

14 : 2 = 7 resto 0

7 : 2 = 3 resto 1

3 : 2 = 1 resto 1

1 : 2 = 0 resto 1

Page 10: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Attenzione

• Rappresentazione del numero 32: 100000– Servono 6 bit– Implicitamente sono 33 elementi diversi: da 0 a 32

– ëlog2(32)û + 1 = 5+1

• 32 elementi diversi hanno rappresentazione da 0 a 31– Bastano quindi 5 bit -> ëlog2(31)û + 1 = 4+1

Page 11: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Primi esempi di rappresentazione

• Con un byte possiamo rappresentare i numeri naturali da 0 a 255– 0 ≤ k ≤ 2n-1 se n = 8: 0 ≤ k ≤ 255 – 010 = 000000002; 810 = 000010002; …; 25510 = 111111112

• Oppure i numeri interi compresi fra –127 e 127– -(2n-1 -1)≤ k ≤ 2n-1-1 se n = 8: -127 ≤ k ≤ +127 – Primo bit = 0: numero positivo, primo bit = 1: numero negativo– 1010 = 000010102 -1010 = 100010102

– 010 = 000000002 e -010 = 100000002

Page 12: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Operazioni elementari

• Inversione di un bit– 0 -> 1, 1 -> 0

• Somma di due bit– 0+0 = 0, 1+0 = 1, 0+1 = 1, 1+1 = 0 (1)– 0*0 = 0, 1*0 = 0, 0*1= 0, 1*1 = 1

• Se interpretiamo 0 come Falso e 1 come Vero, le operazioni di cui sopra diventano operatori logici– Inversione = negazione, (NOT, ¬)– Somma logica, (OR, Ú)– Prodotto logico, (AND, Ù)

Page 13: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Somma cifra per cifra

riporto 11100 00110000000100

8731 10001000011011

5698 01011001000010

risultato 14429 11100001011101

Page 14: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Modulo e segno

• Dato un numero intero N, codificato su n bit, il bit più significativo rappresenta il segno– 0 significa positivo e 1 negativo– I restanti n-1 bit rappresentano il valore assoluto del numero• N = 6 -> 3 bit + 1 per il segno -> 0110• N = -6 -> 1110

• Problemi con le operazioni aritmetiche elementari– Analisi del segno– Confronto dei valori assoluti

Page 15: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Somma tra due numeri

segno A = segno B

|A| > |B|

|RIS| = |B| - |A|

segno RIS = segno B segno RIS = segno A

|RIS| = |A| - |B|

SINO

NO

segno RIS = segno A

|RIS| = |A| + |B|

Page 16: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Complemento a 1

• Codifica diversa per semplificare l’algoritmo di calcolo• Non si distingue più il segno dal modulo• Dato un numero N, il suo opposto si calcola complementando ad

uno ad uno tutti i bit che compongono il numero– N = 01001 -> -N = 10110

• Somma e sottrazione richiedono solo sommatori e negatori (per il calcolo dell’opposto)

• Il risultato è corretto a meno di un 1 nel caso in cui si verifichi un riporto nella somma stessa– Quindi si usa sempre una seconda somma per sommare il riporto

generato (fosse zero la somma sarebbe inutile)

Page 17: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Esempio

• N = 011001 (+25) e M = 000011 (+3)• N + M = 011001 + 000011 = 011100 (+28)

• K = 111100 (-3)• N + K = 011001 + 111100 = (1)010101 – 010101 + 000001 = 010110 (+22)

• Numeri devono essere rappresentati con lo stesso numero di cifre• Sempre due somme– Non è la soluzione ottima, ma è la meno costosa

Page 18: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Complemento a 2

• Ulteriore miglioramento con rappresentazione più complicata• Somme algebriche con una sola addizione• Notazione non simmetrica (-2n-1 ≤ N ≤ 2n-1 -1)– Una sola codifica per il numero zero– Numeri positivi hanno sempre la stessa codifica– Numeri negativi

• -N è quel numero che sommato a N produce una configurazione di tutti zero e un bit di riporto che si trascura

• Operativamente– Complemento a 1 e poi si somma uno– Si scorre il numero da destra a sinistra, lasciando inalterate le cifre fino al primo uno

(compreso) e si complementano le altre

Page 19: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Esempio

• N = 011001 (+25)• -N = 100110 + 000001 = 100111 oppure• -N = 100111

– “Salvo” solo il primo uno e complemento tutto il resto

• N = 011001 (+25) e M = 000011 (+3)• K = 111101 (-3)• N + K = 011001 + 111101 = (1)010110 = 010110 (+22)

• M – N = 000011 + 100111 = 101010 (-22)– 010110 -> +22

• Attenzione a leggere i numeri negativi

Page 20: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

ConfrontoCodifica Modulo e segno Complemento a 1 Complemento a 2

0000 +0 +0 +0

0001 +1 +1 +1

0010 +2 +2 +2

0011 +3 +3 +3

0100 +4 +4 +4

0101 +5 +5 +5

0110 +6 +6 +6

0111 +7 +7 +7

1000 -0 -7 -8

1001 -1 -6 -7

1010 -2 -5 -6

1011 -3 -4 -5

1100 -4 -3 -4

1101 -5 -2 -3

1110 -6 -1 -2

1111 -7 -0 -1

Page 21: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Numeri razionali

• Virgola fissa– Si codificano separatamente la parte intera e la parte

frazionaria– Ad esempio• primo byte: rappresentazione parte intera• secondo byte: rappresentazione parte frazionaria

• Virgola mobile– Mantissa e esponente (o caratteristica): r = m ´ bn

• Con b = 10: -331.6875 viene rappresentato m = -0.3316875 e n = 3

Page 22: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Conversione

23.47 = 2×101 + 3×100 + 4×10-1 + 7×10-2

10.012 = 1×21 + 0×20 + 0×2-1 + 1×2-2

= 1×2 + 0×1 + 0×½ + 1×¼= 2 + 0.25 = 2.25

Page 23: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

0.58710

• 0.587 ´ 2 = 1.174: parte frazionaria 0.174 e parte intera 1• 0.174 ´ 2 = 0.348: parte frazionaria 0.348 e parte intera 0• 0.348 ´ 2 = 0.696: parte frazionaria 0.696 e parte intera 0• 0.696 ´ 2 = 1.392: parte frazionaria 0.392 e parte intera 1• 0.392 ´ 2 = 0.784: parte frazionaria 0.784 e parte intera 0• 0.784 ´ 2 = 1.568: parte frazionaria 0.568 e parte intera 1• 0.568 ´ 2 = …

• Precisione– 0.1001 (con quattro cifre binarie dopo la virgola) – 0.100101 (con sei cifre binarie dopo la virgola)

Page 24: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Virgola fissa (39.345)

Parte intera (39)

• 39:2 = 19 1• 19:2 = 9 1• 9:2 = 4 1• 4:2 = 2 0• 2:2 = 1 0• 1:2 = 0 1

• 00100111 = 39

Parte frazionaria (.345)

• .345 x 2 = .69 0• .69 x 2 = 1.38 1• .38 x 2 = .76 0• .76 x 2 = 1.52 1• .52 x 2 = 1.04 1• .04 x 2 = .08 0• .08 x 2 = .16 0

• 0.0101100 = 0.34375

Page 25: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Numero normalizzato (r = m ´ bn)

• Si impone che m sia sempre minore di 1 e la sua cifradecimale più significativa sia sempre diversa da 0– 0.45676 ´ 102 normalizzato– 0.0456 ´ 103 non normalizzato

• Un numero binario rappresentato in v.m. assume la forma normalizzata:1.d-1d-2d-3...d-(p-1)·2e

– si rappresenteranno esplicitamente:• i bit dopo la virgola• l'esponente• il segno del numero

Page 26: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

IEEE 754

• È lo standard più diffuso per la rappresentazione deinumeri in virgola mobile

• Quattro formati per i numeri in virgola mobile:– a precisione singola (32 bit)

• Un numero in virgola mobile è rappresentato su parole di 32, 64 o 128 bit divisi in tre parti: un bit di segno (S), un campo esponente (E) e uno mantissa (M)– Precisione singola (32 bit): 1/8/23– Precisione doppia (64 bit): 1/11/52

Page 27: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

(-1)S x 2E x M

• S (segno): 0 positivo e 1 negativo• E (esponente in forma intera)– Permette di rappresentare 256 valori

• I valori 0 e 255 vengono riservati per funzioni speciali• Gli altri permettono di rappresentare 254 valori per i numeri in forma

normale, compresi tra -126 e 127

– Il campo è rappresentato in eccesso k: E = e + k• Per i numeri a precisione singola, k è uguale a 127

– In questa rappresentazione, i valori dell'esponente compresi tra -126 e 127 assumono invece i valori compresi tra 1 e 254, eliminando la necessità di un bit riservato al segno

Page 28: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Mantissa

• Il campo M rappresenta la sequenza di cifre dopo la virgola– Tutte le mantisse sono normalizzate in modo che il numero

prima della virgola sia 1, per cui per un dato M il valorecorrispondente è m = 1.M

• La mantissa è costituita dal numero binario 1, seguitodalla virgola e dalla parte decimale del numerorappresentato, in forma binaria

Page 29: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Esempio: -118.5

• Numero negativo, quindi S = 1• Numero2: 1110110,1• Normalizzazione, spostiamo la virgola verso sinistra,

lasciando solo un 1 alla sua sinistra– La mantissa è riempita con zeri a destra fino a riempire i 23

bit: 11011010000000000000000

• L'esponente è pari a 6, ma E = 6 + 127 = 133– In forma binaria: 10000101

Page 30: Rappresentazione dell’informazione - Intranet DEIBhome.deib.polimi.it/baresi/fi/lucidi/parte2.pdf · Rappresentazione dell’informazione •Il primo tipo di informazione che si

Numeri reali

• I numeri frazionari possono introdurre approssimazioni– Presenza di un numero limitato di cifre dopo la virgola

• Numeri reali approssimati dai razionali