Altre Operazioni Logiche

Concetti Chiave
  • Le operazioni logiche oltre AND e OR includono XOR, NOR, NAND e XNOR.
  • XOR (Exclusive-OR) restituisce vero se solo uno degli operandi è vero.
  • NOR è l'operazione NOT-OR, che restituisce vero solo se entrambi gli operandi sono falsi.
  • NAND è l'operazione NOT-AND, che restituisce vero se almeno uno degli operandi è falso.
  • XNOR (Exclusive-NOR) restituisce vero se entrambi gli operandi sono uguali.
  • Queste operazioni sono fondamentali per la progettazione di circuiti logici complessi e per la comprensione delle funzioni booleane.

Altre Operazioni Logiche

Quando gli operatori binari AND e OR sono posti tra due variabili, x e y, formano due funzioni booleane, rispettivamente:

x \cdot y
x + y

Precedentemente abbiamo affermato che ci sono 2^{2^n} funzioni per n$ variabili binarie. Quindi, per due variabili, n = 2, il numero di possibili funzioni booleane è 16. Pertanto, le funzioni AND e OR sono solo 2 di un totale di 16 possibili funzioni formate con due variabili binarie. Sarebbe istruttivo trovare le altre 14 funzioni e investigare le loro proprietà.

Le tavole di verità per le 16 funzioni formate con due variabili binarie sono elencate nella tabella che segue:

x y F_0 F_1 F_2 F_3 F_4 F_5 F_6 F_7 F_8 F_9 F_{10} F_{11} F_{12} F_{13} F_{14} F_{15}
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Tabella 1: Tabelle di Verità per le 16 Funzioni di Due Variabili Binarie

Ognuna delle 16 colonne, da F_0 a F_{15}, rappresenta una tabella di verità di una possibile funzione per le due variabili, x e y. Si noti che le funzioni sono determinate dalle 16 combinazioni binarie che possono essere assegnate a F. Le 16 funzioni possono essere espresse algebricamente per mezzo di funzioni booleane, come è mostrato nella seconda colonna della tabella che segue:

Funzioni Booleane Espressione Simbolo
Operatore
Nome Commenti
F_0 F_0 = 0 Funzione Nulla Restituisce sempre la Costante binaria 0
F_1 F_1 = xy x \cdot y AND x e y
F_2 F_2 = xy' x/y Inibizione x, ma non y
F_3 F_3 = x Trasferimento x
F_4 F_4 = x'y y/x Inibizione y, ma non x
F_5 F_5 = y Trasferimento y
F_6 F_6 = xy' + x'y x \oplus y XOR (Exclusive-OR) x o y, ma non entrambi
F_7 F_7 = x + y x + y OR x o y
F_8 F_8 = (x + y)' x \downarrow y NOR Not-OR: OR Negato
F_9 F_9 = xy + x'y' (x \oplus y)' Equivalenza (EQU o XNOR) x uguale a y
F_{10} F_{10} = y' y' Complemento Non y
F_{11} F_{11} = x + y' x \subset y Implicazione Se y, allora x
F_{12} F_{12} = x' x' Complemento Non x
F_{13} F_{13} = x' + y x \supset y Implicazione Se x, allora y
F_{14} F_{14} = (xy)' x \uparrow y NAND Not-AND: AND negato
F_{15} F_{15} = 1 Identità Restituisce sempre la Costante binaria 1
Tabella 2: Espressioni Booleane per le 16 Funzioni di Due Variabili

Le espressioni booleane elencate sono semplificate al loro numero minimo di letterali.

Sebbene ogni funzione possa essere espressa in termini degli operatori booleani AND, OR e NOT, non c'è ragione per cui non si possano assegnare simboli di operatori speciali per esprimere le altre funzioni. Tali simboli di operatori sono elencati nella terza colonna della tabella di sopra. Tuttavia, di tutti i nuovi simboli mostrati, solo il simbolo XOR, \oplus, di NAND, \uparrow e di NOR, \downarrow, sono di uso comune da parte dei progettisti digitali.

Ognuna delle funzioni nella tabella è elencata con un nome di accompagnamento e un commento che spiega la funzione in qualche modo.

Le 16 funzioni elencate possono essere suddivise in tre categorie:

  1. Due funzioni che producono una costante 0 o 1;
  2. Quattro funzioni con operazioni unarie: complemento e trasferimento.
  3. Dieci funzioni con operatori binari che definiscono otto operazioni diverse: AND, OR, NAND, NOR, exclusive-OR, equivalenza, inibizione e implicazione.

Le costanti per le funzioni binarie possono essere uguali solo a 1 o 0. La funzione complemento produce il complemento di ognuna delle variabili binarie. Una funzione che è uguale a una variabile di input è stata chiamata trasferimento, perché la variabile x o y è trasferita attraverso la porta che forma la funzione senza cambiare il suo valore. Degli otto operatori binari, due (inibizione e implicazione) sono usati dai logici, ma sono raramente usati nella logica dei computer. Gli operatori AND e OR sono stati menzionati in congiunzione con l'algebra booleana. Le altre quattro funzioni sono usate estensivamente nella progettazione di sistemi digitali.

La funzione NOR è il complemento della funzione OR, e il suo nome è un'abbreviazione di not-OR. Similmente, NAND è il complemento di AND ed è un'abbreviazione di not-AND. L'exclusive-OR, abbreviato XOR, è simile a OR, ma esclude la combinazione per la quale sia x che y valgono 1; vale 1 solo quando x e y differiscono nel valore. È talvolta chiamato l'operatore di differenza binaria.

Equivalenza (spessa chiamata EQU) è una funzione che è 1 quando le due variabili binarie sono uguali (cioè, quando entrambe sono 0 o entrambe sono 1). Le funzioni exclusive-OR ed equivalenza sono i complementi l'una dell'altra. Questo può essere facilmente verificato ispezionando la tabella di verità: La tabella di verità per exclusive-OR è F_6 e per equivalenza è F_9, e queste due funzioni sono i complementi l'una dell'altra. Per questa ragione, la funzione equivalenza è chiamata exclusive-NOR, abbreviato XNOR.

L'algebra booleana, come definita nelle lezioni precedenti, ha due operatori binari, che abbiamo chiamato AND e OR, e un operatore unario, NOT (complemento). Dalle definizioni, abbiamo dedotto un numero di proprietà di questi operatori e ora abbiamo definito altri operatori binari in termini di essi. Non c'è niente di unico in questa procedura. Avremmo potuto altrettanto bene iniziare con l'operatore NOR (\downarrow), per esempio, e più tardi definire AND, OR e NOT in termini di esso. Ci sono, tuttavia, buone ragioni per introdurre l'algebra booleana nel modo in cui è stata introdotta. I concetti di "e," "o," e "non" sono familiari e sono usati dalle persone per esprimere idee logiche quotidiane. Inoltre, i postulati di Huntington riflettono la natura duale dell'algebra, enfatizzando la simmetria di + e \cdot l'uno rispetto all'altro.