5 / 63 · Concetto
XOR e XNOR: uguaglianza, differenza e parità
Distinguere XOR a due ingressi e parità a più ingressi e spiegare i limiti della rilevazione degli errori.
Le lezioni sono gratuite. Iscriviti per salvare i progressi.
Una porta che confronta due bit
XOR vale 1 quando i due ingressi sono diversi; XNOR vale 1 quando sono uguali.
OR e XOR coincidono per 00, 01 e 10, ma differiscono per 11. Il simbolo XOR aggiunge una curva davanti al simbolo OR. XNOR aggiunge anche il cerchietto d'inversioneInversione NOT scambia 0 e 1. Una barra superiore applica NOT all’intera espressione sottostante. Approfondisci all'uscita.
| a | b | y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Con tre o più ingressi non significa «esattamente uno»
XOR è associativo, quindi si può calcolare in successione. Il risultato è 1 quando il numero di ingressi a 1 è dispari. Anche 111 dà 1: estendere la frase «esattamente un ingresso vale 1» sarebbe quindi sbagliato.
L'uscita sum di un sommatore completo è questa paritàParità Indica se il numero di bit a 1 è pari o dispari. Rileva un numero dispari di errori, ma può non rilevarne un numero pari. a tre ingressi, mentre cout indica la presenza di almeno due 1. Impostando 111 qui sotto si ottengono sum=1 e cout=1; la somma intera è .
a + b + cin = sum + 2 × cout
La parità rileva solo determinati tipi di errore
Per i dati , il bit di parità pari è . Lo XOR dei dati insieme a p vale 0. Se durante la trasmissione si inverte un numero dispari di bit, lo XOR complessivo diventa 1 e l'errore viene rilevato. Un numero pari di inversioni può invece sfuggire; inoltre un solo bit di parità non individua la posizione dell'errore.
Verificare l'uguaglianza di due sequenze
Per verificare se i vettori A e B coincidono, si possono combinare con OR gli XOR di ciascuna coppia di bit.
Se almeno un bit differisce, OR vale 1. Invertendo tutto il risultato si ottiene 1 solo quando tutti i bit coincidono. Combinare invece gli XOR con un altro XOR per stabilire l'uguaglianza permette a due differenze di annullarsi erroneamente.
Prova tu
Per A=1010 e B=1001, calcolate la sequenza XOR e il risultato di uguaglianza. Quale problema nasce riducendo ancora con XOR la sequenza delle differenze?
Leggi la spiegazione
La sequenza XOR è 0011 e l’uguaglianza vale 0. I due bit diversi si annullano a 0 nello XOR; invertendolo si otterrebbe erroneamente uguaglianza=1. I bit di differenza vanno ridotti con OR.