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:

 

 
falso 
falso 
verdadeiro 
verdadeiro 
 
falso 
verdadeiro 
falso 
verdadeiro 
p AND q  
falso 
falso 
falso 
verdadeiro 
p OR q  
falso 
verdadeiro 
verdadeiro 
verdadeiro 

Exemplo: No trecho de programa abaixo o if será executado, pois o resultado da expressão lógica é verdadeiro:

int i = 5, j =7;
if ( (i > 3) && ( j <= 7)  && ( i != j) )  j++;
        V    AND      V     AND    V  = V

 

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 bit a bit 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)))

Página Anterior Índice da Aula Próxima Página


Curso de C do CPDEE/UFMG - 1996 - 1999