AND – OR – NOT Le tre operazioni fondamentali dell'algebra di Boole

Abbiamo già visto che al livello più “basso”, più vicino alla macchina, i numeri che i computer “comprendono” sono quelli della numerazione binaria. Questi ultimi, come i numeri decimali, possono essere trattati attraverso le classiche operazioni aritmetiche di somma, sottrazione, moltiplicazione e divisione, quelle che tutti impariamo nei primissimi anni di scuola. I numeri binari, proprio perché tali, cioè composti da cifre che possono assumere il valore di 0 (zero) o di 1 (uno) possono essere trattati anche da operazioni di altro tipo, chiamate operazioni logiche, usate anche nella logica proposizionale. Il ramo della matematica che si occupa di questo tipo di operazioni si chiama algebra di Boole, dal nome del matematico e logico britannico George Boole. L’algebra booleana è indispensabile per i logici così come per i programmatori e per chi si occupa di elettronica. Le operazioni di base dell’algebra di Boole sono le tre seguenti:

  1. AND (in italiano la congiunzione “e”),
  2. OR (in italiano “o”, “oppure”),
  3. NOT (in italiano “non”).

Se prendiamo due numeri binari e li vogliamo trattare attraverso l’operatore AND o attraverso l’operatore OR dovremo fare un confronto cifra per cifra dei due numeri, da destra a sinistra (o anche, se si preferisce, da sinistra a destra, l’importante è confrontare ogni cifra del primo numero con la cifra corrispondente del secondo numero). Con l’operatore AND avremo come risultato del confronto tra cifre dei due numeri 1 solo nel caso di cifre pari entrambe a 1, in ogni altro caso avremo come risultato 0. Prendiamo ad esempio due numeri binari di un byte ciascuno: 00000100 (corrispondente al numero decimale 4) e 00000101 (corrispondente al numero decimale 5):

00000100
00000101
_____________
00000100

Con l’operatore OR avremo come risultato del confronto tra cifre dei due numeri 0 solo nel caso di cifre pari entrambe a 0, in ogni altro caso avremo come risultato 1. Sempre prendendo ad esempio i due numeri binari di cui sopra:

00000100
00000101
_____________
00000101

L’operatore NOT opera su un solo numero binario, invertendo i valori di tutti i bit. Prendendo, ad esempio, il numero binario 00001011 (corrispondente al decimale 11):

00001011
_____________
11110100

Sempre per chi voglia evitarsi la conversione, 11110100 corrisponde al decimale 244.

Massimo Messina

2 comments on “AND – OR – NOT Le tre operazioni fondamentali dell'algebra di Boole
  1. Non chiamerei “NOT” un’operazione dell’algebra di Boole, la quale ha solo 2 operazioni: AND, OR. NOT è piuttosto una funzione F tale che per ogni elemento E del dominio dell’algebra si ha che E AND F(E)= 0, E OR F(E)=1.

    Inoltre, non solo 0 OR 1= 1, ma anche 1 OR 0 = 1. Infatti, sia OR che AND sono commutative, ma anche associative. Una qualunque operazione è non è commutativa, è o non è associativa. Di NOT non ha senso chiedersi se è commutativa o associativa etc., questa è la ragione per la quale non è un’operazione.

    Ps. Nell’algebra di Boole le due operazioni sono anche reciprocamente distributive.

Comments are closed.