CURSO DE C
Operadores Relacionais e Lógicos
Os operadores relacionais do C realizam comparações
entre variáveis. São eles:
Operador
>
>=
<
<=
==
!= |
Ação
Maior do que
Maior ou igual a
Menor do que
Menor ou igual a
Igual a
Diferente de |
Os operadores relacionais retornam verdadeiro (1) ou falso (0). Para fazer
operações com valores lógicos (verdadeiro
e falso) temos os operadores lógicos:
Operador
&&
||
! |
Ação
AND (E)
OR (OU)
NOT (NÃO) |
Usando os operadores relacionais e lógicos podemos realizar uma
grande gama de testes. A tabela-verdade destes operadores é dada
a seguir:
p
falso
falso
verdadeiro
verdadeiro |
q
falso
verdadeiro
falso
verdadeiro |
p AND q
falso
falso
falso
verdadeiro |
p OR q
falso
verdadeiro
verdadeiro
verdadeiro |
Operadores Lógicos Bit a Bit
O C permite que se faça operações lógicas
"bit-a- bit" em números. Ou seja, neste caso, o número
é representado por sua forma binária e as operações
são feitas em cada bit dele. Imagine um número inteiro de
16 bits, a variável i armazenando o valor 2. A representação
binária de i, será: 0000000000000010 (quinze zeros e um único
1 na segunda posição da direita para a esquerda). Poderemos
fazer operações em cada um dos bits deste número.
Por exemplo, se fizermos a negação do número (operação
binária NOT, ou operador binário ~ em C), isto é,
~i, o número se transformará em 1111111111111101. As operações
binárias ajudam programadores que queiram trabalhar com o computador
em "baixo nível". As operações lógicas só
podem ser usadas nos tipos char, int e long int. Os
operadores são:
| Operador |
Ação |
| & |
AND |
| | |
OR |
| ^ |
XOR (OR exclusivo) |
| ~ |
NOT |
| >> |
Deslocamento de bits a direita |
| << |
Deslocamento de bits a esquerda |
Os operadores &, |, ^ e ~ são as
operações lógicas bit a bit. A forma geral dos operadores
de deslocamento é:
valor>>número_de_deslocamentos
valor<<número_de_deslocamentos
O número_de_deslocamentos indica o quanto cada bit irá
ser deslocado. Por exemplo, para a variável i anterior, armazenando
o número 2:
i << 3;
fará com que i agora tenha a representação binária:
0000000000010000, isto é, o valor armazenado em i passa a ser igual
a 16.
AUTO AVALIAÇÃO
Veja como você está.
Diga se as seguintes expressões serão verdadeiras
ou falsas:
-> ((10>5)||(5>10))
-> (!(5==6)&&(5!=6)&&((2>1)||(5<=4)))
Dúvidas? De uma olhadinha em nosso FAQ