Sei sulla pagina 1di 63

Marco Mezzlama, Elio Piccolo

Capire linformatica

Algebra di Boole e Circuiti Logici

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

Marco Mezzlama, Elio Piccolo

Capire linformatica

Perch importante la logica


alla base del ragionamento umano
costituisce il fondamento teorico per
trattare i circuiti digitali che sono alla base
dei calcolatori
essenziale per la costruzione degli
algoritmi e quindi per i linguaggi di
programmazione
alla base di linguaggi non procedurali
come il Prolog
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

Marco Mezzlama, Elio Piccolo

Capire linformatica

LAlgebra di Boole
fu ideata nella prima met del XIX secolo dal
matematico inglese George Boole, con lintento
di ricondurre al rigore matematico il
ragionamento umano
fu utilizzata da C. E. Shannon allinizio del XX
secolo per descrivere il comportamento dei
circuiti a commutazione (relays), in uso nella
telefonia, e da qui ai dispositivi digitali
una struttura algebrica, potrebbe essere
introdotta in modo formale. Qui verr proposta in
modo intuitivo.
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

Marco Mezzlama, Elio Piccolo

Capire linformatica

Le basi dellalgebra booleana


Nellalgebra di Boole:
Si mettono in corrispondenza le
proposizioni, o in generale gli eventi binari,
con le variabili logiche (o booleane)
Le variabili logiche sono denotate con le
lettere dellalfabeto (A,B,a,b,)
Le variabili logiche possono assumere
solo due valori: Vero (T, o anche 1) o
Falso (F, o anche 0)
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

Marco Mezzlama, Elio Piccolo

Capire linformatica

Le basi dellalgebra booleana (2)


Esempi:
macchina_parte P (= T, o 1, se la
macchina parte, F, o 0, se non parte)
semaforo_verde S (= 1 se verde, 0
altrimenti)
interruttore I (= 1 se chiuso, 0 se
aperto)
Nota: lassociazione stato valore di
verit arbitraria.
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

Marco Mezzlama, Elio Piccolo

Capire linformatica

Le basi dellalgebra booleana (3)


Nellalgebra di Boole:
si possono mettere in relazione n-ple di
variabili indipendenti con una particolare
variabile dipendente
la variabile dipendente detta funzione
booleana
le funzioni booleane possono assumere
solo due valori, T o F, ovvero 1 o 0
Esempio y = F(x1, x2, xn).
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

Marco Mezzlama, Elio Piccolo

Capire linformatica

Tavola di verit
Una funzione descritta in modo
esaustivo stabilendo, per ogni
combinazione delle variabili di ingresso,
se vale 1 oppure 0.
Si crea dunque una tabella, detta tavola di
verit della funzione.
Qui di seguito un esempio di tavola di
verit:
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

Marco Mezzlama, Elio Piccolo

Capire linformatica

Esempio di tavola di verit

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

Marco Mezzlama, Elio Piccolo

Capire linformatica

Esempio applicativo
Si pu telefonare con il cellulare solo se la
batteria carica, se c campo e c credito.
Le variabili logiche sono:
Variabile dipendente:
T: vale 1 (= True) se si pu telefonare;
Variabili indipendenti:
B: vale 1 (= True) se la batteria carica;
C: vale 1 (= True) se c campo;
P: vale 1 (= True) se c credito.
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

Marco Mezzlama, Elio Piccolo

Capire linformatica

Esempio applicativo (2)

La tavola di verit della funzione telefonare

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

10

Marco Mezzlama, Elio Piccolo

Capire linformatica

Quante funzioni di n variabili?


Il numero di combinazioni delle variabili di
ingresso 2n. Infatti la prima variabile pu
assumere 2 valori, per ciascuno di essi la
seconda variabile pu assumere 2 valori,
e cos via, per un totale di 2 2 2 2 =
2n.
Quante funzioni si possono costruire con n
variabili?
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

11

Marco Mezzlama, Elio Piccolo

Capire linformatica

Quante funzioni di n variabili? (2)


n varabili

Numero variabili: n

k combinazioni

Numero combinazioni:
k = 2n = 2^n

Numero funzioni:
m = 2^k = 2^(2^n)

Esempio: se n = 4,
k = 2^4 = 16

m = 2^16 = 65.536

m funzioni
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

12

Marco Mezzlama, Elio Piccolo

Capire linformatica

Operatori logici: lAND


Operatore AND
esprime il concetto di e insieme
indicato nei seguenti modi: A AND B, A B
oppure A B
opera secondo la seguente tavola di verit:

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

13

Marco Mezzlama, Elio Piccolo

Capire linformatica

AND (2)
esempio: mi_compro_il_gelato se fa_caldo
AND ho_i_soldi.
viene anche detto prodotto logico, per
analogia con operatore matematico.
Il simbolo circuitale dellAND:

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

14

Marco Mezzlama, Elio Piccolo

Capire linformatica

AND (3)
analogo elettrico delloperatore AND: due
interruttori in serie.

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

15

Marco Mezzlama, Elio Piccolo

Capire linformatica

OR
Loperatore OR
Esprime il concetto di disgiunzione logica
(una cosa oppure unaltra oppure entrambe)
indicato nei seguenti modi: A OR B, A + B
oppure A B
opera secondo la seguente tavola di verit:

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

16

Marco Mezzlama, Elio Piccolo

Capire linformatica

OR (2)
esempio: esco_con_lombrello se piove OR
nevica.
viene anche detto somma logica (ma qui
lanalogia con loperatore aritmetico pi
lasca)
Il simbolo circuitale dellOR:

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

17

Marco Mezzlama, Elio Piccolo

Capire linformatica

OR (3)
analogo elettrico in un circuito dellOR:
due interruttori in parallelo

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

18

Marco Mezzlama, Elio Piccolo

Capire linformatica

NOT
Operatore NOT:
ha il significato di negazione logica
indicato nei seguenti modi: NOT A, oppure
A.
Opera secondo la seguente tavola di verit:

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

19

Marco Mezzlama, Elio Piccolo

Capire linformatica

NOT (2)
Esempio: _sereno se nuvoloso.
Il simbolo circuitale del NOT:

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

20

Marco Mezzlama, Elio Piccolo

Capire linformatica

NOT (3)
analogo elettrico delloperatore NOT:

Nota: per realizzare la funzione di NOT occorre un


dispositivo attivo
realizzato di solito con un semplice transistor.
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

21

Marco Mezzlama, Elio Piccolo

Capire linformatica

Altri operatori notevoli


sono derivabili dagli operatori elementari
sono di uso frequente o sono
concettualmente rilevanti

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

22

Marco Mezzlama, Elio Piccolo

Capire linformatica

EX-OR
Loperatore EX-OR (OR esclusivo):
Indicato nei seguenti modi: A EX-OR B, oppure A B
opera secondo la seguente tavola di verit:

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

23

Marco Mezzlama, Elio Piccolo

Capire linformatica

EX-OR (2)

A B equivalente allespressione
A B A B

Il simbolo circuitale dellEX-OR:

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

24

Marco Mezzlama, Elio Piccolo

Capire linformatica

EX-OR (3)
Alcune interpretazioni dellEX-OR (facendo
riferimento alla tavola di verit):
indica diversit (vale 1 se e solo se A e B sono
diversi)
corrisponde alla somma-modulo-2 (in cui si tiene
conto solo del risultato e non del riporto)
condizionamento: sia B il segnale condizionante.
Quando B=0, luscita dellEX-OR corrisponde al
segnale A. Quando B=1, luscita corrisponde al
segnale A invertito (invertitore pilotato).

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

25

Marco Mezzlama, Elio Piccolo

Capire linformatica

Implicazione logica
Loperatore di implicazione logica
modella il costrutto logico Se A allora B
indicato come A B (cio A implica B)
opera secondo la seguente tavola di verit:

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

26

Marco Mezzlama, Elio Piccolo

Capire linformatica

Implicazione logica (2)


vale la seguente equivalenza:
A B A B
(la formula equivalente permette le
manipolazioni algebriche)
si noti che se la premessa Falsa (A = 0), la
formula resta Vera indipendentemente da B
esempio: Se triangolo_rettangolo allora
un_angolo_novanta_gradi
il fondamento del ragionamento deduttivo
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

27

Marco Mezzlama, Elio Piccolo

Capire linformatica

Espressioni logiche
Combinazione di variabili e operatori logici
possono essere valutate per ogni combinazione
delle variabili presenti e possono assumere il
valore 0 o 1
anche le espressioni si rappresentano mediante
la tavola di verit.
Nota:
Spesso loperatore di prodotto logico viene omesso:
T = ab + c
vale la priorit degli operatori (nellordine, NOT, poi
AND e infine OR)
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

28

Marco Mezzlama, Elio Piccolo

Capire linformatica

Espressioni equivalenti
E1 ed E2 sono equivalenti se

per tutte le combinazioni delle


variabili indipendenti per cui E1 = 1
anche E2 = 1 e
per tutte le combinazioni delle
variabili indipendenti per cui E1 = 0
anche E2 = 0
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

29

Marco Mezzlama, Elio Piccolo

Capire linformatica

Espressioni equivalenti (2)


Esempio di equazioni equivalenti:

Ta xz x yz
Tb xz yz
Ta Tb
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

30

Marco Mezzlama, Elio Piccolo

Capire linformatica

Espressioni equivalenti (3)

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

31

Marco Mezzlama, Elio Piccolo

Capire linformatica

Espressioni complementari
E1 ed E2 sono complementari se:
per tutte le combinazioni delle variabili
indipendenti per cui E1 = 1 risulta E2 = 0
e
per tutte le combinazioni delle variabili
indipendenti per cui E1 = 0 risulta E2 = 1
Nota: se due espressioni sono complementari:
E1 = E2
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

32

Marco Mezzlama, Elio Piccolo

Capire linformatica

Espressioni complementari (2)


Esempio di funzioni complementari:

Ta x y x y
Tb x y xy
Ta Tb
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

33

Marco Mezzlama, Elio Piccolo

Capire linformatica

Espressioni complementari (3)

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

34

Marco Mezzlama, Elio Piccolo

Capire linformatica

Espressioni duali
E2 duale di E1 se pu essere ottenuta da E1:
sostituendo l'operatore OR con l'operatore
AND e viceversa (tenendo conto delle
precedenze degli operatori in E1 !!);
sostituendo il valore 0 con il valore 1 e
viceversa.
Regola di complementazione: l'espressione
complementare di E1 pu essere ottenuta dalla
sua duale E2 complementando tutte le variabili in
E2 (teorema di De Morgan) .
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

35

Marco Mezzlama, Elio Piccolo

Capire linformatica

Espressioni duale e complementare


F(a,b,c) = a (b + c) Fd = a + (b c)
a
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

c
0
1
0
1
0
1
0
1

F
0
0
0
0
0
1
1
1

Fd
0
0
0
1
1
1
1
1

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

F = a + (b c)
F
1
1
1
1
1
0
0
0
36

Marco Mezzlama, Elio Piccolo

Capire linformatica

Teoremi dellalgebra di Boole


si possono dimostrare per induzione completa:
sufficiente fare la tavola di verit.
vale inoltre una propriet legata alla dualit:
stato dimostrato che se vale un teorema, vale
anche il teorema duale, senza che di debba
ripetere la dimostrazione.
ecco le propriet e i teoremi pi importanti:
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

37

Marco Mezzlama, Elio Piccolo

Capire linformatica

Teoremi dellalgebra di Boole (2)


a) X 0 0
Duale : X 1 1
b) X 1 X
Duale : X 0 X
c) X X X
Duale : X X X
d)X X 0
Duale : X X 1
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

38

Marco Mezzlama, Elio Piccolo

Capire linformatica

Teoremi dellalgebra di Boole (3)


e) X Y Y X _ propr . _ commutativa
Duale : X Y Y X
f ) X Y Z ( X Y ) Z X (Y Z ) _ propr . _ assoc.
Duale : X Y Z ( X Y ) Z X (Y Z )
g ) X Y ... Z X Y ... Z _ teorema _ DeMorgan
Duale : X Y ... Z X Y ... Z
h) X Y X Z X (Y Z ) _ propr . _ distributiva
Duale : ( X Y ) ( X Z ) X Y Z
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

39

Marco Mezzlama, Elio Piccolo

Capire linformatica

Teoremi dellalgebra di Boole (4)


i ) X X Y X _ teorema _ dell ' inclusione
Duale : X ( X Y ) X
j ) X Y X Y X _ teor. fusione _ diretta
Duale : ( X Y ) ( X Y ) X
k ) X X Y X Y
Duale : X ( X Y ) X Y
l )Z X Z X Y Z X Z Y
Duale : ( Z X ) ( Z X Y ) ( Z X ) ( Z Y )
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

40

Marco Mezzlama, Elio Piccolo

Capire linformatica

Teoremi dellalgebra di Boole (5)


m) X Y X Z Y Z X Y X Z
Duale : ( X Y ) ( X Z ) (Y Z ) ( X Y ) ( X Z )
n) X Y X Z ( X Z ) ( X Y )
Duale : ( X Y ) ( X Z ) X Z X Y
o) X f ( X , X , Y ,..., Z ) X f (1,0, Y ,..., Z )
Duale : X f ( X , X , Y ,..., Z ) X f (0,1, Y ,..., Z )
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

41

Marco Mezzlama, Elio Piccolo

Capire linformatica

Teoremi dellalgebra di Boole (6)


p ) f ( X , X , Y ,..., Z ) X f (1,0, Y ,..., Z ) X f (0,1, Y ,..., Z )
Duale : f ( X , X , Y ,..., Z ) ( X f (0,1, Y ,..., Z ) ( X f (1,0, Y ,..., Z )
q ) f ( X , Y ,..., Z ,,) f ( X , Y ,..., Z ,,) _ deMorgan _ generalizzato

Da notare che nellalgebra di Boole la propriet distributiva


vale sia per il prodotto (logico) che per la somma (logica).

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

42

Marco Mezzlama, Elio Piccolo

Capire linformatica

Dalle funzioni alle espressioni logiche


Una funzione logica si rappresenta mediante la
sua tavola di verit
Esempio: un comitato di tre persone A, B e C
prende le decisioni a maggioranza. Si vuole la
funzione che esprima che una mozione
approvata (passa, P).
Con le stesse lettere A, B e C si indicano le
variabili logiche che assumono il valore 1 se la
corrispondente persona ha dato voto favorevole,
0 altrimenti.
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

43

Marco Mezzlama, Elio Piccolo

Capire linformatica

Dalle funzioni alle espressioni logiche (2)


Tavola di verit della funzione approvazione a
maggioranza:

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

44

Marco Mezzlama, Elio Piccolo

Capire linformatica

Dalle funzioni alle espressioni logiche (3)


possibile rappresentare questa funzione mediante
una espressione?
Si ricorre al concetto di equivalenza: una funzione pu
essere rappresentata mediante una espressione che
abbia la stessa tavola di verit.
Una delle possibili espressioni si ricava seguendo il
seguente algoritmo:
si individuano le combinazioni per le quali la funzione vale 1;
ogni combinazione fornisce un termine, formato dalla
congiunzione (operatore AND) di tutte le variabili, affermate se le
variabili in quella combinazione assumono il valore 1, negate se
assumono il valore 0;
lespressione la disgiunzione (operatore OR) di tutti i termini
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

45

Marco Mezzlama, Elio Piccolo

Capire linformatica

Dalle funzioni alle espressioni logiche (4)


Espressione equivalente del tipo somma
di prodotti (min term):
P ABC A BC ABC ABC
Applicando

i teoremi di base (quello


della fusione diretta), si ottiene la forma
minima:

P BC AC AB
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

46

Marco Mezzlama, Elio Piccolo

Capire linformatica

Esempio applicativo:lanalisi di un circuito


Dato il circuito in figura, desumerne il
funzionamento.

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

47

Marco Mezzlama, Elio Piccolo

Capire linformatica

Lanalisi di un circuito (2)


Siano A, B e C le variabili logiche
associate agli interruttori (= 1 se chiuso, 0
altrimenti).
Sia L la variabile associata alla lampadina
(= 1 se accesa, 0 spenta).
La tavola di verit si realizza controllando
se, per ogni combinazione delle variabili
indipendenti, la luce accesa o spenta.
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

48

Marco Mezzlama, Elio Piccolo

Capire linformatica

Lanalisi di un circuito (3)

Considerando le combinazioni per cui L = 1, si ottiene:

L ABC A BC ABC
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

49

Marco Mezzlama, Elio Piccolo

Capire linformatica

Lanalisi di un circuito (4)


Applicando i teoremi (propriet distributiva e
X+X=X), si minimizza lespressione:
L ABC A BC ABC
ABC ABC A BC ABC
( A A) BC ( B B ) AC
BC AC ( A B ) C

la luce si accende solo se chiuso linterruttore C


e insieme uno dei due interruttori A o B.
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

50

Marco Mezzlama, Elio Piccolo

Capire linformatica

Sintesi di un circuito
Problema: in una stanza lilluminazione
comandata da due deviatori A e B, situati
in punti diversi. Allinizio la luce spenta e
i due deviatori si trovano in una posizione
che chiamiamo X. Se uno dei due
deviatori, diciamo A, viene spostato nella
posizione Y, vogliamo che la luce si
accenda. Se anche laltro deviatore viene
spostato in posizione Y, vogliamo che la
luce si spenga.
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

51

Marco Mezzlama, Elio Piccolo

Capire linformatica

Sintesi di un circuito (2)


Siano A e B le variabili logiche associate ai
deviatori. A ciascuna posizione assunta
da un deviatore associamo un valore
logico: ad esempio associamo 0 alla
posizione X, 1 alla posizione Y.
Sia L la variabile associata alla luce (= 0
se spenta, 1 se accesa).
La tavola di verit della funzione L la
seguente:
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

52

Marco Mezzlama, Elio Piccolo

Capire linformatica

Sintesi di un circuito (3)

Considerando le combinazioni per cui L = 1, si ha


lespressione:

L A B A B A B
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

53

Marco Mezzlama, Elio Piccolo

Capire linformatica

Sintesi di un circuito (4)


Ricordando che lAND si ottiene con una
connessione serie e lOR con una connessione
parallela, si ottiene il circuito:

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

54

Marco Mezzlama, Elio Piccolo

Capire linformatica

Esempio: il full-adder
La somma S di 2 numeri binari A e B di n bit pu
essere ricondotta a n somme elementari di 3 bit
tenendo conto che:
ak, bk sono i bit di peso k di A e B
sk il k-esimo bit di S
rk il riporto generato dalla somma dei bit
di peso k-1, k-2, ... 0 di A e B.
r-1 = 0
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

55

Marco Mezzlama, Elio Piccolo

Capire linformatica

Full-adder: tabelle di verit


Si possono ricavare le tabelle di verit
di sk e rk in funzione di ak , bk e rk-1
ak
0
0
0
0
1
1
1
1

bk
0
0
1
1
0
0
1
1

rk-1
0
1
0
1
0
1
0
1

sk
0
1
1
0
1
0
0
1

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

rk
0
0
0
1
0
1
1
1
56

Marco Mezzlama, Elio Piccolo

Capire linformatica

Full-adder: espessioni booleane


ak
0
0
0
0
1
1
1
1

bk
0
0
1
1
0
0
1
1

rk-1
0
1
0
1
0
1
0
1

sk
0
1
1
0
1
0
0
1

rk
0
0
0
1
0
1
1
1

akbkrk-1
akbkrk-1
akbkrk-1
akbkrk-1
akbkrk-1

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

akbkrk-1
akbkrk-1
akbkrk-1
57

Marco Mezzlama, Elio Piccolo

Capire linformatica

Full adder: semplificazione delle espressioni


Le espressioni di sk e rk sono date da:

sk a k b k rk 1 a k bk r k 1 ak b k r k 1 ak bk rk 1
rk 1 (a k b k ak bk ) r k 1 (a k bk ak b k )
rk 1 (ak bk ) r k 1 (ak bk )
rk 1 ak bk
rk a k bk rk 1 ak b k rk 1 ak bk r k 1 ak bk rk 1
bk rk 1 ak rk 1 ak bk
rk 1 (ak bk ) ak bk
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

58

Marco Mezzlama, Elio Piccolo

Capire linformatica

Full adder: schema circuitale


Le funzioni che forniscono sk ed rk possono essere
realizzate in un unico circuito elettronico (full adder):

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

59

Marco Mezzlama, Elio Piccolo

Capire linformatica

Sommatore a n bit
Il full-adder pu essere usato come circuito
base per un sommatore a n bit:
carry

an bn rn-1 an-1 bn-1 rn-2

rn

sn

rn-1

sn-1

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

a0 b0 0

r0

s0
60

Marco Mezzlama, Elio Piccolo

Capire linformatica

Esercizio
Problema:
Si considerino due valori A = a1a0 e
B = b1b0 espressi in complemento a 2 su 2 bit.
Scrivere lespressione di una funzione booleana
F che vera se e solo se A = -B
Soluzione:
conviene considerare i bit che costituiscono A e
B come variabili indipendenti e scrivere la
funzione come F (a0,a1,b0,b1).
2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

61

Marco Mezzlama, Elio Piccolo

Capire linformatica

Esercizio (2)

a1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

a0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

b1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

b0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

0
0
0
0
1
1
1
1
-2
-2
-2
-2
-1
-1
-1
-1

0
1
-2
-1
0
1
-2
-1
0
1
-2
-1
0
1
-2
-1

1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

62

Marco Mezzlama, Elio Piccolo

Capire linformatica

Esercizio (3)
F a1 a 0 b1 b0 a1 a 0 b1 b0 a1 a 0 b1 b0
a1 a 0 b1 b0 a 0 b0 (a1 b1 a1 b1 )
a1 a 0 b1 b0 a 0 b0 (a1 b1 )

2010 Marco Mezzalama, Elio Piccolo, Capire linformatica

63