Nand
é conhecido como um portão lógico 'universal', porque permite definir todos os outros portões lógicos booleanos:
not(x) = nand(x,x)
and(x, y) = not(nand(x, y))
or(x, y) = nand(not(x), not(y))
nor(x, y) = not(or(x, y))
xor(x, y) = nand(nand(a, nand(a, b)), nand(b, nand(a, b)))
Isso é conhecido como nand-logic e é comumente usado em computadores modernos porque um transistor pode ser feito para se comportar como um nand-gate.
Gostaria de saber se é possível fazer algo semelhante com as operações bit a bit. Pode um exemplo bit a bit NAND (bnand) ser usada para definir bnot
, bor
, band
, bnor
, bxor
? Existe uma operação bit a bit universal?