Como funcionam as portas lógicas: OR, AND, XOR, NOR, NAND, XNOR e NOT

Shutterstock / darsi
Portão lógico: um termo legal, mas o que significa? Este artigo irá apresentar o conceito de uma porta lógica, bem como descrever como funciona cada porta lógica específica (OR, AND, XOR, NOR, NAND, XNOR e NOT).
O que é uma porta lógica?
Primeiro, é importante perceber que as portas lógicas assumem muitas formas. Mesmo em nossas vidas pessoais, estamos constantemente processando coisas por meio de várias portas lógicas. Embora nossas mentes estejam otimizadas para fazer isso, muitas vezes não percebemos o processo de pensamento em movimento. No entanto, isso acontece.
Por exemplo, ao fazer um exame, pode-se saber que não responder a uma pergunta resultará em uma pontuação negativa para essa pergunta. Se você refletiu sobre isso e entendeu o conceito, sua mente acabou de processar uma porta NÃO! Em outras palavras (pseudo código): se NÃO ENTÃO existirem consequências negativas.
Essas portas lógicas formam os blocos de construção de grande parte do código mundial, bem como da eletrônica. Embora algumas portas lógicas sejam muito mais comuns (por exemplo, uma porta AND ou OR é muito mais comum do que uma porta NAND ou NOR), todas as portas lógicas são mais cedo ou mais tarde usadas para fazer com que um computador ou dispositivo eletrônico faça exatamente o que ’ é exigido dele — processar dados de uma determinada maneira.
Com a ajuda de várias portas lógicas, podemos construir fluxos de trabalho que até certo ponto se assemelham ou seguem o pensamento humano. Vejamos cada um em detalhes.
OU
Uma porta lógica OR é uma porta / construção muito simples que basicamente diz, “ se minha primeira entrada for verdadeira, ou minha segunda entrada for verdadeira, ou ambas forem verdadeiras , então o resultado também será verdadeiro. ” Observe como temos duas entradas e uma saída. Este não é o caso para todas as portas lógicas. Se você der uma olhada na imagem do cabeçalho, poderá ver como todas as portas lógicas têm duas entradas — exceto a porta lógica NOT, que tem uma entrada. Todas as portas têm uma saída.
Em outras palavras, podemos escrever uma porta lógica OR neste fluxograma:
0 + 0 = > 0 0 + 1 = > 1 1 + 0 = > 1 1 + 1 = > 1
Aqui, 0 representa falso e 1 representa verdadeiro. Como você pode ver, a única maneira de nossa saída ser falsa (ou seja, 0) é se ambas as entradas também forem falsas. Em todos os outros casos, a saída de nossa porta OR será verdadeira.
Curiosamente, se ambas as entradas forem verdadeiras, a saída também será verdadeira. Isso é um pouco diferente do pensamento humano sobre OU, já que a palavra ou é frequentemente associada a um ou outro.
E
Semelhante à nossa porta lógica OR, a porta lógica AND processará duas entradas resultando em uma saída, mas desta vez, estamos procurando que ambas as entradas sejam verdadeiras para o resultado para se tornar verdadeiro. Em outras palavras, nossa lógica funciona assim:
0 + 0 = > 0 0 + 1 = > 0 1 + 0 = > 0 1 + 1 = > 1
Todas as outras portas (exceto a porta NOT) são um pouco mais difíceis de compreender, mas fique atento.
XOR
A porta XOR às vezes também é chamada de EOR ou EXOR. O jargão correto para uma porta XOR é OU exclusivo. Se você se lembra do nosso exemplo anterior, ficamos um pouco surpresos que verdadeiro e verdadeiro ainda levariam à verdade, um pouco diferente do raciocínio humano.
Bem-vindo ao XOR (OR exclusivo), que resolve esse problema, em linha com o raciocínio humano padrão. Esta porta lógica funciona assim:
0 + 0 = > 0 0 + 1 = > 1 1 + 0 = > 1 1 + 1 = > 0
A entrada e a saída são iguais à nossa porta OR, mas, desta vez, a entrada realmente precisa ser exclusiva. Se a entrada for verdadeira e verdadeira, a saída será falsa.
NOR
Lembra do nosso exemplo anterior do NOT? Invertemos as coisas. É um pouco semelhante à porta NOR, que é basicamente uma porta NOT-OR, onde OR tem a mesma lógica que discutimos acima para a porta OR.
Em outras palavras, você pode pensar assim: “ Qualquer coisa que não seja uma situação OR (ou seja, verdadeiro e falso misturado ou verdadeiro e verdadeiro em nosso exemplo de porta OR, mesmo que não seja imediatamente lógico para humanos) apresenta um resultado verdadeiro e todo o resto resulta em um resultado falso. ”
Isso leva à seguinte lógica da porta NOR:
0 + 0 = > 1 0 + 1 = > 0 1 + 0 = > 0 1 + 1 = > 0
Munidos desse conhecimento, podemos dar uma olhada no portão NAND:
NAND
Semelhante a NOR, NAND pode ser lido como NOT-AND e, portanto, qualquer coisa que seja normalmente um AND deve ser falso (ou seja, NOT-AND). Isso leva ao seguinte resultado:
0 + 0 = > 1 0 + 1 = > 1 1 + 0 = > 1 1 + 1 = > 0
Como em cada um dos três primeiros casos, um AND completo (que seria verdadeiro e verdadeiro) não está presente. Portanto, o resultado é verdadeiro (1). Para a última entrada, verdadeiro e verdadeiro, um AND completo está presente e, portanto (devido ao componente NOT, o N em NAND), o resultado é falso.

Audrius Meskauskas, CC BY-SA 3.0, via Wikimedia Commons
Nesta imagem, vemos um chip SN7400N que possui quatro portas lógicas, a saber, portas NAND. Assim, uma tensão mais alta (um estado verdadeiro / 1) nos pinos 1 e 2 (canto inferior esquerdo) levará a um estado de baixa tensão (provavelmente 0 V) no pino 3 a qualquer momento. E se um dos dois ou ambos os pinos (1 + 2) se tornassem de baixa voltagem, o pino 3 começaria a fornecer uma voltagem mais alta.
XNOR
Pensando nas portas OR, NOR e XOR, a porta XNOR é uma combinação de todos eles. Basicamente, uma porta exclusiva NOT-OR ou NOR exclusiva. A lógica é a seguinte:
0 + 0 = > 1 0 + 1 = > 0 1 + 0 = > 0 1 + 1 = > 1
Em outras palavras, o reverso de um resultado de porta XOR. Sim, pode ser um pouco complexo de seguir.
NÃO
Já apresentamos brevemente a porta NOT anteriormente com nosso exemplo equivalente humano. A porta NOT basicamente inverte qualquer entrada fornecida a ela. Se você fornecer verdadeiro como entrada, a saída será falsa e vice-versa. Nossa tabela lógica é simples:
0 = > 1 1 = > 0
Este portão é frequentemente usado em combinação com outros portões.
Portas lógicas em código de computador
Um exemplo simples de um NOT gate pode ser visto no seguinte código Bash:
if [! verdadeiro ]; então echo 'false'; else echo 'true'; fi

Neste exemplo, dizemos basicamente: se não for verdadeiro, então echo false, caso contrário, echo true. Como usamos uma porta NOT, a saída é verdadeira, embora não seja verdadeira.
Como você pode ver, o código facilmente se torna um pouco confuso de ler e desenvolver quando você usa portas NOT, e especialmente quando combinando-as com portas AND ou OR. Mas a prática leva à perfeição, e os desenvolvedores experientes adoram usar declarações condicionais de gate complexas.
Em muitas linguagens de codificação, uma porta OR lógica é representada por || idioma, e uma porta lógica AND é frequentemente representada pelo & & idioma. Uma porta NOT é geralmente representada pelo! símbolo.
Concluindo
Neste artigo, discutimos as portas lógicas OR, AND, XOR, NOR, NAND, XNOR e NOT. Também cobrimos como as portas lógicas imitam o pensamento humano e como elas podem nos ajudar a escrever peças complexas de lógica de programação em um programa de computador. Também demos uma breve olhada nas portas lógicas usadas no código de computador.
Se você gostou de ler este artigo, dê uma olhada em nossos artigos De 0 a F: Hexadecimal e Bits, Bytes e Binários, que o ajudarão a entender como os computadores funcionam internamente.
Nenhum comentário