sexta-feira, 20 de março de 2015

Operadores Lógicos

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….

operadores lógicos 

 

 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)

porta lógica 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)

porta lógica 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

 

Operador NÃO (NOT)

porta lógica 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)

porta lógica 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)

pórta lógica 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)

porta lógica 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)

porta lógica 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.
Abaixo o resultado deste programa.
resultado bitwise
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