Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fondamenti di Informatica
Trattamento dell’informazione
Algebra di Boole
Algebra di Boole
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S0
A not(A)
0 1
1 0
A B A and B
0 0 0
0 1 0
1 0 0
1 1 1
OR – SOMMA LOGICA
A B A or B
0 0 0
0 1 1
1 0 1
1 1 1
✓ Addizione
✓ Sottrazione
✓ Moltiplicazione
✓ Divisione
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S0
A B SOMMA RIPORTO
(A+B)
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
0+0=0
0+1=1
1+0=1
1 + 1 = 0 𝑐𝑜𝑛 𝑟𝑖𝑝𝑜𝑟𝑡𝑜 1
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S0
bit di overflow
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S0
A B SOTTRAZIONE PRESTITO
(A-B)
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
0−0=0
0 − 1 = 1 𝑐𝑜𝑛 𝑝𝑟𝑒𝑠𝑡𝑖𝑡𝑜 1
1−0=1
1−1=0
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S0
Regola Esempio
Sottrarre i numeri decimali 5 e 10
Adottare la rappresentazione a in binario
complemento a due ed eseguire
la somma tra un numero positivo 510 − 1010 = 510 + (−10)10
e un numero negativo = 00101𝐶2 + 10110𝐶2
= 11011𝐶2 = −510
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S0
A B PRODOTTO
(AxB)
0 0 0
0 1 0
1 0 0
1 1 1
0𝑥0=0
0𝑥1= 0
1𝑥0=0
1𝑥1=1
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S1
Fondamenti di Informatica
Trattamento dell’informazione
Rappresentazione dei numeri binari
✓ k – 1 bit di modulo
segno segno
(0 → +) (1 → -)
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S1
RAPPRESENTAZIONE IN COMPLEMENTO A 2
0110C2 +6
0110C2→ 1001C2
1001 +
1=
1010 -6
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S1
BINARIOC2 → DECIMALE
0111𝐶2 𝟎𝟏𝟏𝟏𝑪𝟐 → +𝟕
0 ∙ −1 ∙ 23 + 1 ∙ 22 + 1 ∙ 21 + 1 ∙ 20 = 0 + 4 + 2 + 1 = +7
1001𝐶2 𝟏𝟎𝟎𝟏𝑪𝟐 → −𝟕
1 ∙ −1 ∙ 23 + 0 ∙ 22 + 0 ∙ 21 + 1 ∙ 20 = −8 + 0 + 0 + 1 = −7
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S1
TABELLA RIASSUNTIVA
ALGEBRA DI BOOLE
L’algebra di Boole prende il nome dal matematico inglese George Boole (1815-1864) ed è
un particolare tipo di algebra in cui variabili e funzioni possono assumere solo i valori 0 e 1.
Proprio per questa sua caratteristica, l’algebra di Boole è essenziale per lo sviluppo dei
calcolatori elettronici poiché descrive tutte le operazioni che è possibile fare con i bit.
Un variabile booleana è una variabile binaria che può assumere solo due valori logici, 0 e
1.
L’algebra di Boole si basa su tre operatori booleani o logici fondamentali:
⎯ NOT: negazione logica
⎯ AND: prodotto logico
⎯ OR: somma logica
Tutte le funzioni booleane o logiche possono essere espresse come combinazione di questi
tre operatori basilari. A ciascuna funzione logica, nell'hardware del computer corrisponde
una porta logica fisica. Le informazioni logiche 0 ed 1 corrispondono a due livelli di tensione
(ad esempio, 0 V e + 5 V) che sono elaborati dalle porte logiche in modo tale da eseguire la
funzione data.
1
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Numero lezione: 5
Titolo: NT1 – Lezione 5: Algebra di Boole e rappresentazione dei
numeri binari
A not(A)
0 1
1 0
A B A and B
0 0 0
0 1 0
1 0 0
1 1 1
2
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Numero lezione: 5
Titolo: NT1 – Lezione 5: Algebra di Boole e rappresentazione dei
numeri binari
A B A or B
0 0 0
0 1 1
1 0 1
1 1 1
L’operazione OR fornisce in uscita il valore logico 1 se e solo almeno una delle variabili in
ingresso (A e B) assumono il valore logico 1. Nel caso in cui le due variabili in ingresso
assumono entrambe valore logico 0, la OR fornisce in uscita il valore logico 0.
SOMMA
A B RIPORTO
(A+B)
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
3
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Numero lezione: 5
Titolo: NT1 – Lezione 5: Algebra di Boole e rappresentazione dei
numeri binari
In pratica, dati due numeri binari A e B, la loro somma è 0 se entrambi A e B sono 0 mentre
è 1 se uno dei due A o B è 1. Nel caso in cui entrambi A e B valgono 1, la loro somma vale
0 con riporto di 1:
0+0=0
0+1=1
1+0=1
1 + 1 = 0 𝑐𝑜𝑛 𝑟𝑖𝑝𝑜𝑟𝑡𝑜 1
0112 + (310 )
0102 = (210 )
1012 (510 )
Nel caso in cui il risultato della somma sia maggiore rispetto al numero di bit utilizzati per la
rappresentazione dei numeri, il riporto fluisce fuori e si parla di overflow.
L’esempio seguente chiarisce il concetto di overflow. Si supponga di avere a disposizione
solo 2 bit per la rappresenta numerica e si consideri la stessa somma dell’esempio
precedente 3 + 2 = 5 (in decimale). In questo caso si ottiene:
112 + (310 )
102 = (210 )
1012 (510 )
4
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Numero lezione: 5
Titolo: NT1 – Lezione 5: Algebra di Boole e rappresentazione dei
numeri binari
SOTTRAZIONE
A B PRESTITO
(A-B)
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
In pratica, dati due numeri binari A e B, la loro differenza è 0 se entrambi A e B sono uguali
ossia se valgono entrambi 0 o entrambi 1. La differenza vale 1 se A è 1 e B è 0 mentre nel
caso contrario, vale a dire A pari a 0 e B pari a 1, la loro differenza vale 1 con prestito di 1:
0−0=0
0 − 1 = 1 𝑐𝑜𝑛 𝑝𝑟𝑒𝑠𝑡𝑖𝑡𝑜 1
1−0=1
1−1=0
Un altro metodo molto semplice per eseguire la sottrazione di numeri binari consiste
nell’adottare la rappresentazione a complemento a due ed eseguire la somma tra un
5
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Numero lezione: 5
Titolo: NT1 – Lezione 5: Algebra di Boole e rappresentazione dei
numeri binari
PRODOTTO
A B
(AxB)
0 0 0
0 1 0
1 0 0
1 1 1
In pratica, dati due numeri binari A e B, il loro prodotto è sempre 0 se almeno uno dei due
vale 0. Il prodotto vale 1 solo se entrambi A e B sono pari a 1:
0𝑥0 =0
0𝑥1 =0
1𝑥0 =0
1𝑥1 =1
6
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Numero lezione: 5
Titolo: NT1 – Lezione 5: Algebra di Boole e rappresentazione dei
numeri binari
7
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Numero lezione: 5
Titolo: NT1 – Lezione 5: Algebra di Boole e rappresentazione dei
numeri binari
Come si può notare, il numero 1000 non rappresenta più -010 (come nel modulo e segno)
ma -810.
8
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Numero lezione: 5
Titolo: NT1 – Lezione 5: Algebra di Boole e rappresentazione dei
numeri binari
0111𝐶2 → 0 ∙ (−1) ∙ 23 + 1 ∙ 22 + 1 ∙ 21 + 1 ∙ 20 = 0 + 4 + 2 + 1 = +7
1001𝐶2 → 1 ∙ (−1) ∙ 23 + 0 ∙ 22 + 0 ∙ 21 + 1 ∙ 20 = −8 + 0 + 0 + 1 = −7
9
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Numero lezione: 5
Titolo: NT1 – Lezione 5: Algebra di Boole e rappresentazione dei
numeri binari
Il termine NA (Non Ammesso) presente in alcune celle indica che per la rispettiva
rappresentazione non è possibile codificare il numero decimale corrispondente. Per MS e
C2 questo accade perché il numero di bit (in questo caso pari a 4) non è sufficiente, mentre
nel caso della rappresentazione binaria significa che in questo caso la rappresentazione dei
numeri negativi non è permessa.
10
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S3
Fondamenti di Informatica
Trattamento dell’informazione
Esercizi
2510+6010 4410+7810
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S3
15310-5110
Corso di Laurea: Ingegneria Industriale
Insegnamento: Fondamenti di Informatica
Lezione n°: 5
Titolo: Algebra di Boole e rappresentazione dei numeri binari
Attività n°: S3
15210x1010
100110002 x 15210
10102 = 1010
00000000 +
10011000 +
00000000 +
10011000 =
101111100002 152010