Buscar

Parte 5 - Operadores bit a bit (PUC)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prof. Edson J. R. Justino
Prof. Claudio Carvilhe
Parte 5
Pontifícia Universidade Católica do Paraná - PUCPR
Operadores Lógicos em Binário 
ou Operadores Unários
� Seus operadores não são tratados 
como verdadeiro e falso, mas sim como 
bytes onde as operações são feitas em 
nível de seus bits.
Operadores Lógicos em Binário
� a) & (E)
� a = 0x23F 00000010 00111111
� b = 0xF3AC 11110011 10101100
� c = a & b 00000010 00101100 
(0x022C)
� b) | (OU)
� c = a | b 11110011 10111111 
(0xF3BF)
� c) ~ ( Complemento)
Operadores Lógicos em Binário
� O operador unário ~ completa o seu operando, 
ou seja, transforma todos os bits 0 em bits 1 e 
vice-versa
#include <stdio.h>
#include <stdlib.h>
int a = 0x23f, b = 0xf3ac, c, d, f ;
int main( ) {
c = a & b;
d = a | b ;
f = ~a ;
printf("a=%d\nb=%d\nc = %x\nd = %x\nf = %x\n",a, b, c , d, f );
system("PAUSE");
return 0;
}
Operadores de Deslocamento de 
Bits
� Desloca os bits para a esquerda ou para 
a direita (inclusão de zeros)
� >> ( direita )
� << (esquerda)
� Ex.: 
unsigned int a = 7; 00000111
a=a<<1; /* a=14 */ 00001110
a=a<<3; /* a=112 */ 01110000
a=a>>2; /* a=12 */ 00011100
Operadores de Deslocamento de 
Bits
� O deslocamento permite a multiplicação e a 
divisão do número por potência de 2.
� a = a * 16 a = a << 4 (16 = 2**4)
� a = a / 4 a = a >> 2 (4 = 2**2)
#include <stdio.h>
#include <stdlib.h>
int a = 0x00ff; // a = 255
int main( ) {
printf("Hexa a = %x Dec a = %d\n",a,a);
a <<= 2; /* ou a = a << 2 */
printf("Hexa a = %x Dec a = %d\n",a,a);
a = a >> 2;
printf("Hexa a = %x Dec a = %d\n",a,a);
system("PAUSE");
return 0;
}
Operadores Condicionais
a = 2;
b = 3;
z = (a > b ) ? a : b;
ou a = 2;
b = 3;
if ( a > b )
z = a;
else
z = b;
#include <stdio.h>
#include <stdlib.h>
#define ABS (a > 0 ) ? a : ( -a )
int a;
int main( )
{
a = -4;
printf(“a = %d\n”,a);
a = ABS;
printf( “a = %d\n”,a);
system("PAUSE");
return 0;
}

Continue navegando