Binary
Nand
Guarda come la NAND può essere implementata con solo porte AND o OR.
NAND diventa uno di:
!(a && b)
!a || !b
Ciascuno di questi può essere visto come corto circuito. La ragione per cui la NAND non esiste è che è facilmente riscritta come not(a and b)
Xor
XOR, è nel suo cuore, un controllore di parità. Per verificare la parità di due valori, è necessario testare entrambi i valori. Questo è il motivo per cui non è fondamentalmente in grado di cortocircuitarlo - non puoi convalidare se il valore è vero o falso fino a quando non testerai tutti i valori.
Guarda come XOR è scritto con le porte AND e OR:
(a || b) && !(a && b)
Se a
è vero, la parte OR di xor può essere cortocircuitata, tuttavia significa anche che la parte AND non può essere cortocircuitata.
N-ario
Gli operandi N-ary accettano un numero qualsiasi di input (rispetto a quelli binari che ne prendono solo due).
Nand
L'n-ary NAND è
!(a && b && c && d ... )
Questo può ancora essere cortocircuitato in quanto non appena uno degli operandi diventa falso, il valore della NAND è vero.
Xor
Ci sono due diverse interpretazioni di n-ary xor:
- Un numero dispari di operando vero
- Uno e un solo operando vero
Il primo è in uso comune (vedi XOR in Wolfram ):
For multiple arguments, XOR is defined to be true if an odd number of its arguments are true, and false otherwise. This definition is quite common in computer science, where XOR is usually thought of as addition modulo 2.
Da Wikipedia
Strict reading of the definition of exclusive or, or observation of the IEC rectangular symbol, raises the question of correct behaviour with additional inputs. If a logic gate were to accept three or more inputs and produce a true output if exactly one of those inputs were true, then it would in effect be a one-hot detector (and indeed this is the case for only two inputs). However, it is rarely implemented this way in practice.
Il xor "uno caldo" può essere cortocircuitato quando si valuta l'espressione quando si trova il valore vero secondo .
Altrimenti, di nuovo, lo XOR è più comunemente implementato come il "numero dispari di valori veri" che funge da controllore di parità e richiede la valutazione di tutti gli operandi per determinare la verità dell'espressione poiché l'ultimo valore valutato può sempre cambia la verità dell'espressione.