4. Codifica binaria dell’informazione
-
Upload
shelly-forbes -
Category
Documents
-
view
60 -
download
3
Embed Size (px)
description
Transcript of 4. Codifica binaria dell’informazione

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

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

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}

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]

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]

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

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

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]

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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)

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.

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

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

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

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

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

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

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))

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

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

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