As operações lógicas são ensinadas em vários cursos de tecnologia de
diferentes formas, por exemplo, em cursos de eletrônica é ensinado
portas lógicas, já em programação aprendemos os operadores lógicos. Mas
no fundo é a mesma coisa e se você entender a ideia das operações
lógicas você pode usar esse conhecimento em qualquer área da tecnologia.
Leia sobre operadores aritméticos
Tipo de dados LÓGICO
O
tipo de dados primitivo mais simples é o chamado
booleano ( ou lógico ). Pra quem não conhece esse tipo de dados, um dado booleano só pode assumir dois valores (
VERDADEIRO ou
FALSO
). Em eletrônica, costuma-se ensinar apresentando como exemplo uma
lâmpada, que pode estar acesa (verdadeiro) ou apagada (falso). Isso é o
básico. Na literatura você pode encontrar esses dados de diferentes
formas, por exemplo: verdadeiro/falso, aceso/apagado, 1/0,
ligado/desligado, true/false, sim/não, etc….
Leia sobre operadores relacionais
Os operadores lógicos
As operações lógicas trabalham sobre valores booleanos, tanto os
valores de entrada como o de saída são desse tipo. Os operadores lógicos
são: E, OU, NÃO, NÃO-E, NÃO-OU, OU-EXCLUSIVO E NÃO-OU-EXCLUSIVO. Abaixo
uma explicação de cada um.
Operador E (AND)
O Operador “E” ou “AND” resulta em um valor VERDADEIRO se os dois
valores de entrada da operação forem VERDADEIROs, caso contrário o
resultado é FALSO. Abaixo a
tabela-verdade da operação E.
VALOR 1 |
VALOR 2 |
OPERAÇÃO E |
VERDADEIRO |
VERDADEIRO |
VERDADEIRO |
VERDADEIRO |
FALSO |
FALSO |
FALSO |
VERDADEIRO |
FALSO |
FALSO |
FALSO |
FALSO |
Operador OU (OR)
O Operador “OU” ou “OR” resulta em um valor VERDADEIRO se ao menos UM
dos dois valores de entrada da operação for VERDADEIRO, caso contrário o
resultado é FALSO. Abaixo a
tabela-verdade da operação OU.
VALOR 1 |
VALOR 2 |
OPERAÇÃO OU |
VERDADEIRO |
VERDADEIRO |
VERDADEIRO |
VERDADEIRO |
FALSO |
VERDADEIRO |
FALSO |
VERDADEIRO |
VERDADEIRO |
FALSO |
FALSO |
FALSO |
Evolua aprendendo Java Web com este curso.
Operador NÃO (NOT)
O Operador “NÃO” ou “NOT” é o único operador que recebe como entrada
apenas um valor, e sua função é simplesmente inverter os valores. Ou
seja, se o valor de entrada for VERDADEIRO, o resultado será FALSO e se o
valor de entrada for FALSO, o resultado será VERDADEIRO. Abaixo a
tabela-verdade da operação NÃO.
VALOR DE ENTRADA |
OPERAÇÃO NÃO |
VERDADEIRO |
FALSO |
FALSO |
VERDADEIRO |
Operador NÃO-E (NAND)
O Operador “NÃO-E” ou “NAND” é o contrário do operador E (AND), ou
seja, resulta em VERDADEIRO, se ao menos um dos dois valores for FALSO,
na verdade este é o operador E (AND) seguido do operador NÃO (NOT).
Abaixo a
tabela-verdade da operação NÃO-E.
VALOR 1 |
VALOR 2 |
OPERAÇÃO NAND |
VERDADEIRO |
VERDADEIRO |
FALSO |
VERDADEIRO |
FALSO |
VERDADEIRO |
FALSO |
VERDADEIRO |
VERDADEIRO |
FALSO |
FALSO |
VERDADEIRO |
Operador NÃO-OU (NOR)
O Operador “NÃO-OU” ou “NOR” é o contrário do operador OU (OR), ou
seja, resulta em VERDADEIRO, se os dois valores forem FALSO, na verdade
este é o operador OU (OR) seguido do operador NÃO (NOT). Abaixo a
tabela-verdade da operação NÃO-OU.
VALOR 1 |
VALOR 2 |
OPERAÇÃO NOR |
VERDADEIRO |
VERDADEIRO |
FALSO |
VERDADEIRO |
FALSO |
FALSO |
FALSO |
VERDADEIRO |
FALSO |
FALSO |
FALSO |
VERDADEIRO |
Operador OU-EXCLUSIVO (XOR)
O Operador “OU-EXCLUSIVO” ou “XOR” é uma variação interessante do
operador OU (OR), ele resulta em VERDADEIRO se apenas um dos valores de
entrada for VERDADEIRO, ou seja, apenas se os valores de entrada forem
DIFERENTES. Abaixo a
tabela-verdade da operação OU-EXCLUSIVO.
VALOR 1 |
VALOR 2 |
OPERAÇÃO XOR |
VERDADEIRO |
VERDADEIRO |
FALSO |
VERDADEIRO |
FALSO |
VERDADEIRO |
FALSO |
VERDADEIRO |
VERDADEIRO |
FALSO |
FALSO |
FALSO |
Operador NÃO-OU-EXCLUSIVO (XNOR)
O Operador “NÃO-OU-EXCLUSIVO” ou “XNOR” é o contrário do operador
OU-EXCLUSIVO (XOR), ou seja, resulta VERDADEIRO se os valores de entrada
forem IGUAIS. Observe a tabela abaixo:
VALOR 1 |
VALOR 2 |
OPERAÇÃO XNOR |
VERDADEIRO |
VERDADEIRO |
VERDADEIRO |
VERDADEIRO |
FALSO |
FALSO |
FALSO |
VERDADEIRO |
FALSO |
FALSO |
FALSO |
VERDADEIRO |
Operadores lógicos nas linguagens de programação
Cada linguagem de programação tem uma forma de representar os operadores lógicos. A simbologia mais encontrada são:
- AND, OR e NOT em linguagens como: Pascal, Visual Basic e SQL.
- &&, || e ! em linguagens como: Java e C#
Algumas linguagens oferecem operadores lógicos para o nível de bit
(também chamado de operadores bitwise). Ou seja, podemos fazer operações
lógicas com os bits de dois números. Em java, por exemplo esses
operadores são & e |. Veja o código abaixo escrito em java.
|
public class TesteBitwise {
public static void main (String []a){
System.out.println("10 & 7 = " + (10 & 7));
System.out.println("10 | 7 = " + (10 | 7));
}
}
|
Abaixo o resultado deste programa.
Essas operações lógicas são realizadas com os bits dos números de entrada. Assim:
Convertemos o número 10 e o número 7 para binário.
10 = 1010 em binário
7 = 0111 em binário
depois realizamos as operações lógicas com cada bit dos dois números.
10 & 7 = 0010 = 2
10 | 7 = 1111 = 15
Conclusão
Conhecer esses operadores é muito importante para qualquer área da tecnologia que
você for trabalhar. Em programação por exemplo, utilizamos esses
operadores praticamente o tempo todo, principalmente para controle de
fluxo de execução e tomadas de decisão. Se você chegou até aqui e não
conseguiu entender direito o que são os operadores lógicos, deixe um
comentário aí em baixo parar sanarmos as dúvidas.
Nenhum comentário:
Postar um comentário