Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria...

35
Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012 4. Codifica binaria dell’informazione 4. Codifica binaria dell’informazione Ing. Simona Colucci

Transcript of Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria...

Page 1: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

4. Codifica binaria dell’informazione4. Codifica binaria dell’informazione

Ing. Simona Colucci

Page 2: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Codifica binaria dell’informazioneCodifica binaria dell’informazione

• Tutte le informazioni vanno tradotte in bit (organizzati poi in byte o parole):– Numeri naturali– Numeri interi(con segno)– Numeri frazionari– Numeri reali– Caratteri– Immagini

• Nell’interazione con il calcolatore la codifica in binario e la decodifica in formato leggibile sono trasparenti all’utente

Page 3: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Numeri naturali: Numeri naturali: Sistemi di numerazioneSistemi di numerazione

• Un sistema di numerazione è composto da:– Insieme finito di simboli o cifre– Regole che permettono di rappresentare i numeri naturali

• Classificazione– Sistemi additivi (Es. sistema romano parzialmente):

• Ogni cifra assume un valore prefissato• Il numero si ottiene addizionando le cifre che lo compongono• Impossibilità di rappresentare numeri molto grandi e difficoltà di

esecuzione delle operazioni matematiche– Sistemi posizionali (Es. sistema decimale):

• Le cifre acquistano un peso diverso a seconda della posizione che occupano

• Un numero generico di m cifre è rappresentato in base p dalla sequenza:

an, an-1, an-2,..., a0

• Compattezza di rappresentazione anche per numeri molto grandi e facilità di esecuzione delle operazioni

an : cifra più significativa a0 : cifra meno significativa n = m-1ai {0, 1, ..., p-1}

Page 4: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Numero naturale N, composto da m cifre, in base p:

• Rappresentazione

Sistemi posizionali:Sistemi posizionali:Rappresentazione in base Rappresentazione in base pp

n

i

ii

nn

nnp papapapapaN

0

00

11

11 ...

• Spazio di Rappresentazione: numeri nell’intervallo discreto [0 , pm - 1]

Page 5: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Il sistema decimale: Il sistema decimale: rappresentazione in base 10rappresentazione in base 10

• Sistema posizionale– Esempio: 123 = 100 +20 +3

• Base: p = 10

• Insieme di simboli: ai {0,1,2,3,4,5,6,7,8,9}

• Numero naturale N di m cifre:– Rappresentazione:

• N10 = an·10n+an- 1·10n-1+…+a0·100 n=m-1

• Esempio, con m=3:58710 = 5·102+8·101+7·100

– Spazio di rappresentazione: intervallo discreto [0, 10m-1]

Page 6: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

• Sistema posizionale• Base binaria: p=2• Insieme di simboli: ai {0, 1}

– Simboli chiamati bit (binary digit)– Otto bit chiamati byte

• Numero naturale N di m cifre:– Rappresentazione:

• N2 = an·2n+ an-1·2n-1+…+a0·20 n=m-1• Esempio, con m=5:

110112 = (1·24+1·23+0·22+1·21+1·20)10 = 2710

– Spazio di rappresentazione:• intervallo discreto [0 , 2m -1]• Esempio con m=8: [000000002 , 111111112],

ovvero: [010 , 25510]

Sistema binario:Sistema binario:Rappresentazione in base dueRappresentazione in base due

Page 7: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Il sistema binario: unità di misuraIl sistema binario: unità di misura

• kilobyte(Kb) = 210 byte = 1024 byte• megabyte(Mb) = 220 byte = 1048576 byte• gigabyte(Gb) = 230 byte = 1073741824 byte• terabyte(Tb) = 240 byte = 1099511627776 byte

Le approssimazioni a potenze di 10:• sono accettabili solo per i kilobyte: 1024 ~1000• sono inaccettabili per 104 ,105 ,106

• le lettere maiuscole nel simbolo indicano che non si tratta delle potenze di 10 del sistema internazionale

Page 8: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Basi ottale ed esadecimaleBasi ottale ed esadecimale

• Rappresentazione in base 8:– Base ottale: p=8;– Insieme di simboli ai {0, 1, 2, 3, 4, 5, 6, 7}– Numero N di m cifre:

• Rappresentazione: N8 = (an·8n+an-1·8n-1+…+ a0·80)10 n=m-1

Es. 2348 = (2·82+3·81+4·80)10 = 15610

• Spazio di rappresentazione: [0, 8m-1]

• Rappresentazione in base 16:– Base esadecimale: p=16; – Insieme di simboli ai {0, 1, 2, …, 9, A, B, C, D, E, F}

• Notare: “11” al posto di “B” e “15” al posto di “F”, i loro equivalenti in base dieci

– Numero N di m cifre: • Rappresentazione: N16 = (an·16n+an-1·16n-1+…+ a0·160)10 n=m-1

Esempio: B7F16 = (11·162+7·161+15·160)10 = 294310

• Spazio di rappresentazione: [0, 16m-1]

Page 9: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Conversioni di baseConversioni di base

• Per convertire da base p a base 10:

n

i

ii

nn

nnp papapapapaN

0

00

11

11 ...

Esempio: 110112 = (1·24+1·23+0·22+1·21+1·20)10 = 2710• Per convertire da base dieci a base due:

– Metodo delle divisioni successive: esempio331:2 = 165 con resto di 1165:2 = 82 con resto di 182:2 = 41 con resto di 041:2 = 20 con resto di 1 (331)10=(101001011)2

20:2 = 10 con resto di 010:2 = 5 con resto di 05:2 = 2 con resto di 12:2 = 1 con resto di 01:2 = 0 con resto di 1

Page 10: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Conversioni di baseConversioni di base

• Le basi ottale ed esadecimale sono di interesse informatico per la facilità di conversione, con il metodo”per parti”:– Da base 2 a base 8: si converte a gruppi di tre bit,

traducendo ciascuna tripla nella corrispondente cifra ottale

(001010110111)2=(1267)8

– Da base 2 a base 16: si converte a gruppi di quattro bit, traducendo ciascuna quadrupla nella corrispondente cifra esadecimale

(001010110111)2=(2B7)16

• La base ottale ed esadecimale consentono una grande sintesi di rappresentazione

Page 11: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

SommaSomma

• Le cifre sono 0 e 1 ed il riporto può essere solo 1

Riporto precedente

Somma Risultato Riporto

0 0 + 0 0 0

00 + 11 + 0

1 0

0 1 + 1 0 1

1 0 + 0 1 0

10 + 11 + 0

0 1

1 1 + 1 1 1

Page 12: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Esempio di somma e carry Esempio di somma e carry

• Esempio:

1 riporto0101 + (510)

1001 = (910)

------1110 (1410)

111 riporti 1111 + (1510)

1010 = (1010)

------- carry 11001 (2510 se uso 5 bit;

910 se considero 4 bit: errato)

Page 13: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Numeri interiNumeri interi

• Includono anche i numeri negativi • Rappresentati tramite il segno ed il valore del

numero• Codifica binaria secondo uno delle due modalità

seguenti:– Rappresentazione in modulo e segno– Rappresentazione in complemento a due

Page 14: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Modulo e segnoModulo e segno

• In un numero di m bit il primo bit è utilizzato per memorizzare il segno:– “1” numero negativo– “0” numero positivo

• Spazio di rappresentazione: tra -(2m-1-1) e (2m-1-1)• Fenomeno dello zero positivo e negativo

Num. intero, base 10 Num. intero, base due, modulo e segno

–3 111

–2 110

–1 101

–0 100

+0 000

+1 001

+2 010

+3 011

Esempio m=3

Page 15: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

• Usando m bit: (-N)CPL2 = (2m - N10)2

• Spazio di rappresentazione: intervallo discreto [-2m-1 , 2m-1 - 1]– Asimmetria tra negativi e positivi – Esempio (m=8): [-128, +127], perché -27 = -128 e 27 - 1 = +127

• Tutti i numeri negativi cominciano con il bit più significativo posto a “1”, mentre tutti i positivi e lo zero iniziano con uno “0”

Complemento a due (CPLComplemento a due (CPL22))

Num. intero base 10 TrasformazioneNum. intero, base 2,

CPL2, m=3

-4 8 - 4 = 4 410 = 100

-3 8 - 3 = 5 510 = 101

-2 8 - 2 = 6 610 = 110

-1 8 - 1 = 7 710 = 111

0 nessuna 010 = 000

1 nessuna 110 = 001

2 nessuna 210 = 010

3 nessuna 310 = 011

Esempio m=3(-N)CPL2 =(23-N10)2

Page 16: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Complemento a due (CPLComplemento a due (CPL22))

• Metodo alternativo per ottenere (-N)CPL2

– Complementare i bit della rappresentazione binaria del modulo N(cambiare gli 1 in 0 e viceversa)

– Sommare 1 al risultato ottenuto

Esempio: -N= -3 N=(3)10=(011)2

complemento ad 1 100

complemento a 2 101

Page 17: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Somma e sottrazione in CPLSomma e sottrazione in CPL22

• Somma: come per i naturali

• Sottrazione: N1 - N2 = N1 + (-N2)CPL2

• Carry:– Il carry finale non viene considerato!

• Overflow:– Se, sommando due interi di m bit dotati di segno concorde,

ottengo un risultato di segno discorde (sempre considerando m bit), allora si ha un overflow (il risultato non è codificabile su m bit) e l’operazione è errata

– L’overflow non può verificarsi se gli operandi sono di segno discorde

Page 18: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Somma e sottrazione in CPLSomma e sottrazione in CPL22

Esempi: m=7 spazio di rappresentazione [-64, +63]

+5 00101

+8 01000

+13 01101

+5 00101

-8 11000

-3 11101

-5 11011

+8 01000

+3 (1)00011

-63 1000001

-8 1111000

-71 [1](1)0111001

OVERFLOW

RIPORTO RIPORTO

•Perché ignorare il riporto finale in CPL2 ad m bit?

Esempio: base=10

10180-9878=302=

= 10180 -9878 +10000-10000=

= 10180+(10000-9878)-10000= (10000-9878)- è il complemento a 10 del sottraendo: (9878)CPL10

= 10180+122-10000= si addiziona al minuendo il complemento a 10 del sottraendo

= 10302-10000= questa sottrazione equivale a trascurare la cifra piu significativa

= 302

Page 19: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Rappresentazione:• Relativa alla parte frazionaria• Ottenuta tramite la formula

Spazio di rappresentazione:• Per un numero di n cifre in base p, posso rappresentare

numeri nell’intervallo continuo: [0 , 1-p-n]Errore di approssimazione:• minore di p-n

Numeri frazionariNumeri frazionari

12

21

1 ...ni

ii

nnp papapapaN

Esempi con n=3:

• base 10: Rappresentazione: (0,587)10= (5·10-1+8·10-2+7·10-3)

Spazio di rapp.: [0, 1-10-3] = [0, 0.999] Errore : minore di 0.001

• base 2: Rappresentazione: (0,101)2 = (1·2-1+0·2-2+1·2-3)10 = (0,625)10

Spazio di rapp.: [0, 1-2-3] Errore : minore di 2-3

Page 20: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Conversioni di base parte Conversioni di base parte frazionariafrazionaria

• Da base 2 a base 10:– Secondo la formula vista prima

• Da base 10 a base 2:– Si moltiplica progressivamente per 2 la parte frazionaria– Si prendono le parti intere di ciascun prodotto dalla più alla

meno significativa, con numero di bit proporzionale all’accuratezza

– Esempio: 0.587100.587*2= 1.174 parte intera 1 parte frazionaria 0.1740.174*2= 0.348 parte intera 0 parte frazionaria 0.3480.348*2= 0.696 parte intera 0 parte frazionaria 0.6960.696*2= 1.392 parte intera 1 parte frazionaria 0.3920.392*2= 0.784 parte intera 0 parte frazionaria 0.7840.784*2= 1.568 parte intera 1 parte frazionaria 0.568…..

Risultato : 0.1001 con quattro cifre e approssimazione accurate entro il limite 2 -4

0.100101 con sei cifre e approssimazione accurate entro il limite 2-6

Page 21: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Numeri realiNumeri reali

• Approssimati tramite numeri razionali• Rappresentazione relativa sia alla parte intera

che a quella frazionaria• Modalità di rappresentazione alternative:

– virgola fissa– virgola mobile

• numeri molto grandi con poche cifre• numeri molto piccoli con precisione

• Operazioni di somma e differenza tramite allineamento dei numeri

Page 22: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Virgola fissaVirgola fissa

• Uso di m bit per parte intera e n bit per parte frazionaria con n ed m fissi– Esempio (m=8, n=6, tot. 14 bit): 123,58710

12310 = 011110112

0,58710 100101 2

123,58710 01111011, 100101 2

• m e n scelti in base alla precisione che si vuole tenere • Precisione costante lungo l’asse reale R:

0

R

Page 23: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Virgola mobile (floating point)Virgola mobile (floating point)

• Il numero è espresso come: r = m·bn

– m e n sono in base p – m: mantissa (numero frazionario con segno)– b: base della notazione esponenziale (numero naturale)– n: caratteristica (numero intero)– Esempio (p=10, b=10):

-331,6875 = -0,3316875103 m = -0,3316875 n = 3

• Uso l1 bit e l2 bit per codificare m e n (incluso il segno):

0

R

• Precisione variabile lungo l’asse reale R:– valori rappresentabili molto vicini nell’intorno di 0– valori rappresentabili molto lontani nell’intorno del numero

massimo esprimibile, positivo o negativo

Page 24: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

• Quando la mantissa comincia con una cifra diversa da zero, il numero in virgola mobile si dice normalizzatoEs. –0,3316875103 è normalizzato perché la mantissa è “3316875”

• La normalizzazione permette di avere, a parità di cifre usate per la mantissa, una maggiore precisione.

Es. Uso l1=5 cifre per la mantissa:

+45,6768 +0,45676102 +0,00456104

Ho perso 0,0008

Ho perso0,0768

Virgola mobile (floating point)Virgola mobile (floating point)

Page 25: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

CaratteriCaratteri

• Codifica numerica tramite 1 byte • ASCII (American Standard Code for Information Interchange)

utilizza 7 bit (estesa talvolta a 8 bit per rappresentare altri 128 caratteri)

• L’ASCII codifica: – I caratteri alfanumerici (lettere maiuscole e minuscole e numeri),

compreso lo spazio– I simboli (punteggiatura, @, #, …)– Alcuni caratteri di controllo che non rappresentano simboli

visualizzabili (TAB, LINEFEED, RETURN, BELL, ecc)– Non codifica per esempio le lettere accentate o greche

• L’ ottavo bit o un nono possono essere usati come bit di parità: rende pari il numero di 1 in modo che se esso risulta dispari ci si accorge di errori di immagazzinamento o trasmissione dati.

Page 26: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Tabella ASCII (parziale)Tabella ASCII (parziale)

DEC CAR DEC CAR DEC CAR DEC CAR

DEC CAR48 0

49 1

50 2

51 3

52 4

53 5

54 6

55 7

56 8

57 9

65 A

66 B

67 C

68 D

69 E

70 F

71 G

72 H

73 I

74 J 

75 K

76 L

77 M

78 N

79 O

80 P

81 Q

82 R

83 S

84 T

85 U

86 V

87 W

88 X

89 Y

90 Z

97 a

98 b

99 c

100 d

101 e

102 f

103 g

104 h

105 i

106 j 

107 k

108 l

109m110 n

111 o

112 p

113 q

114 r

115 s

116 t

117 u

118 v

119 w

120 x

121 y

122 z

Page 27: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

L’immagine digitaleL’immagine digitale

• Le immagini sono codificate come sequenze di bit• Digitalizzazione: passaggio dall’immagine alla sequenza binaria• L’immagine è suddivisa in una griglia di punti (detti pixel)• Ogni pixel è descritto da un numero (su 8, 16, 24, o 32 bit) che

ne rappresenta il colore(un particolare tono di grigi nelle immagini bianco e nero)– Es. con 8 bit 28 = 256 combinazioni di colore

• Per decodificare la sequenza binaria che codifica l’immagine bisogna conoscere:– le dimensioni dell’immagine : larghezza e altezza in pollici del

rettangolo in cui è contenuta– la risoluzione dell’immagine :numero di pixel per pollice (dpi - dot

per inch)– il numero di colori o toni di grigio disponibili per ogni pixel

Codifica delle immaginiCodifica delle immagini

Page 28: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

L’immagine digitaleL’immagine digitale

• Standard di codifica:– TIFF (Tagged Image File Format)– PNG (Portable Network Graphics)– JPEG

• Tecniche di compressione – utilità:

• ridurre lo spazio necessario a rappresentare i punti dell’immagine• ridurre la quantità di memoria necessaria a memorizzare l’immagine• ridurre il tempo necessario a trasmettere l’immagine tra i dispositivi

– classificazione:• compressione lossless : comprime l’immagine senza deteriorarla (TIFF)

– adatte solo per immagini con ampie aree monocromatiche. in cui sequenze di punti con la stessa tonalità vengono codificate in forma compatta

• compressione lossy: comprimono (molto di più), ma deteriorano l’immagine (JPEG , PNG)

– adatte ad immagini con molti colori, memorizzano le differenze cromatiche tra gruppi di pixel

Page 29: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Operazioni con le informazioniOperazioni con le informazioni

• Aritmetiche– Es. Somma e differenza viste prima

• Logiche– Utilizzano l’algebra di Boole

Page 30: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Algebra di BooleAlgebra di Boole

• Formalismo basato su tre operazioni logiche (dette anche operazioni booleane):– AND operatore binario– OR operatore binario– NOT operatore unario

• Le operazioni booleane si applicano ad operandi che possono assumere solo due valori: vero o falso

• Ogni formula scritta in algebra di Boole può assumere solo due valori: vero o falso

• Rappresentando vero con “1” e falso con “0” un bit può rappresentare un operando o il valore di una formula in algebra di Boole

• Tavole di verità: rappresentano il valore di una espressione logica(ottenuta a partire dai tre operatori logici) in funzione del valore degli operandi

Page 31: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Operatori booleaniOperatori booleani

• Tavole di verità:

A B A AND B

0 0 0

0 1 0

1 0 0

1 1 1

A B A OR B

0 0 0

0 1 1

1 0 1

1 1 1

A NOT A

0 1

1 0

Page 32: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Operatori booleani: proprietàOperatori booleani: proprietà

• Commutativa:– A OR B = B OR A– A AND B = B AND A

• Distributiva di uno verso l’altro:– A OR (B AND C) = (A OR B) AND (A OR C)– A AND (B OR C) = (A AND B) OR (A AND C)

• Leggi di De Morgan:– A AND B = NOT ((NOT A) OR (NOT B))– A OR B = NOT ((NOT A) AND (NOT B))

Page 33: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Espressioni booleaneEspressioni booleane

• Regole di precedenza:– NOT ha la massima precedenza– poi segue AND– infine OR

• Se voglio alterare queste precedenze devo usare le parentesi (a volte usate solo per maggior chiarezza)

• Per valutare un espressione booleana si usa la tabella della verità

• Due espressioni booleane sono equivalenti se e solo se le tabelle della verità sono identiche

Page 34: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Dalla formula alla tabellaDalla formula alla tabella

• Vediamo un esempio, per l’espressione:

D = A AND NOT (B OR C)

A B C D = A AND NOT (B OR C)

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 0

Page 35: Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 4. Codifica binaria dellinformazione Ing. Simona Colucci.

Sistemi Sistemi InformativiInformativiDEE - Politecnico di BariDEE - Politecnico di Bari

Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. Fondamenti di Informatica CDL in Ingegneria Gestionale- A.A. 2011-2012 2011-2012

Dalla tabella alla formulaDalla tabella alla formula

• Se conosco la tabella della verità, posso ricostruire la formula logica. Partiamo dalla tabella:

C1 = (NOT A AND B) OR (A AND NOT B) OR (A AND B)

A B C1

0 0 0

0 1 1

1 0 1

1 1 1

NOT A AND BA AND NOT BA AND B