SlideShare uma empresa Scribd logo
1 de 30
OPERADORES BIT A BIT
Profª Ms. Engª Elaine Cecília Gatto
Curso de Bacharelado em Engenharia de Computação
Universidade do Sagrado CoraçãO – USC
Bauru/SP
Operadores sobre bits
• Computadores representam internamente
todos os dados como sequencias de bits;
• Os bits podem assumir o valor 0 ou o valor 1;
• Na maioria dos sistemas, uma sequencia de 8
bits forma um byte – unidade de
armazenamento padrão para uma variável do
tipo char;
• Outros tipos de dados são armazenados em
números maiores de bytes;
• Os operadores sobre bits são usados para
manipular os bits de operandos inteiros;
• Os inteiros sem sinal normalmente são usados
com o os operadores sobre bits;
Operadores sobre bits
• Os operadores sobre bits são:
• Comparação dos dois operandos bit a bit:
– And (&)
– OR inclusivo ( | )
– OR exclusivo ( ^ )

• Deslocamento à esquerda ( < < )
• Deslocamenteo à direita ( > > )
• Complemento ( ~ )
• Ser capaz de operar no nível dos bits é

especialmente importante quando o programa
deve atuar diretamente no hardware da máquina.
Operadores sobre bits
AND

Os bits são definidos como 1 no resultado, se os bits
correspondentes em ambos os operandos forem 1.

OR inclusivo

Os bits são definidos como 1 no resultado, se pelo menos um dos
bits correspondentes em amobs os operandos for 1.

OR exclusivo

Os bits são definidos como 1 no resultado, se exatamente um dos
bits correspondentes em ambos os operandos for 1.

Deslocamento à
esquerda

Desloca os bits do primeiro operando à esquerda pelo número de
bits especificado pelo segundo operando: preenche a partir da
direita com zero (0) bits.

Deslocamento à
direita

Desloca os bits do primeiro operando à direita pelo número de bits
especificado pelo segundo operando: o método de preenchimento
a partir da esquerda depende da máquina.

Complemento de Todos os bits 0 são definidos como 1, e todos os bits 1 são
um
definidos como 0.
Exibição de um inteiro sem sinal
em bits
• Ao usar os operadores sobre bits, é útil
imprimir valores em sua representação binária
para ilustrar os efeitos exatos desses
operadores.
• O programa a seguir imprime um inteiro sem
sinal em sua representação binária em grupos
de 8 bits cada.
• Os inteiros sem sinal são armazenados, neste
exemplo, em 4 bytes ou 32 bits de memória.
Exibição de um inteiro sem sinal
em bits
#include <stdio.h>
void displayBits (unsigned value); //protótipo da
função
int main(void) {
unsigned x;
printf(“Digite um inteiro sem sinal: ”);
scanf(“%u”, &x);
displayBits(x); //chama a função
return 0;
}
//função: mostra bits de um valor inteiro
sem sinal
void displayBits(unsigned value) {
unsigned c; //contador
Exibição de um inteiro sem sinal
em bits
//declara displayMask e desloca 31 bits à
esquerda
unsigned displayMask = 1 << 31;
printf(“%10u = ”, value);
//percorre os bits
for( c=1; c<=32; c++) {
putchar(value & displayMask ? „1‟ : „0‟);
value <<= 1; //desloca valor à esquerda
em 1
if( c%8 == 0) { //gera espaço após 8
bits
putchar(„ ‟);
}
}
putchar(„ n ‟);
}
Exibição de um inteiro sem sinal
em bits
Exibição de um inteiro sem sinal
em bits
• A função displayBits usa o operador AND sobre
bits para combinar a variável VALUE com a
variável DISPLAYMASK.
• Frequentemente, o operador AND sobre bits é
usado como um operando chamado MÁSCARA –
um valor inteiro com bits específicos definidos
como 1.
• As máscaras são usadas para ocultar alguns bits
em um valor enquanto seleciona outros bits.
• Na função DISPLAYBITS, a variável máscara
DISPLAYMASK recebe o valor 1 << 31 (10000000
00000000 00000000 00000000)
Exibição de um inteiro sem sinal
em bits
• O operador de deslocamento à esquerda
desloca o valor 1 a partir do bit de baixa
ordem – mais à direita – para o bit de alta
ordem – mais à esquerda – em DISPLAYMASK,
e preenche bits 0 a partir da direita.

• A linha putchar(value & displayMask ? „1‟ : „0‟);
determina se 1 ou 0 deve ser impresso para o
bit mais à esquerda da variável VALUE.
• Quando
VALUE
e
DISPLAYMASK
são
combinados usando &, todos os bits, exceto o
bit de alta ordem na variável VALUE, são
mascarados – ocultados – pois qualquer bit
que passe por AND com 0 gera 0.
Exibição de um inteiro sem sinal
em bits
• O operador de deslocamento à esquerda
desloca o valor 1 a partir do bit de baixa
ordem – mais à direita – para o bit de alta
ordem – mais à esquerda – em DISPLAYMASK,
e preenche bits 0 a partir da direita.

• A linha putchar(value & displayMask ? „1‟ : „0‟);
determina se 1 ou 0 deve ser impresso para o
bit mais à esquerda da variável VALUE.
• Quando
VALUE
e
DISPLAYMASK
são
combinados usando &, todos os bits, exceto o
bit de alta ordem na variável VALUE, são
mascarados – ocultados – pois qualquer bit
que passe por AND com 0 gera 0.
Exibição de um inteiro sem sinal
em bits
• Se o bit mais à esquerda for 1, VALUE &
DISPLAYMASK será avaliado como um valor
diferente de zero – verdadeiro – e 1 será impresso
– caso contrário, 0 será impresso.
• A variável VALUE é, então, deslocada um bit à
esquerda pela expressão VALUE <<= 1 – isso
equivale a VALUE = VALUE << 1.
• Essas etapas são repetidas para cada bit na
variável UNSIGNED VALUE.
• Cuidado: usar o operador lógico AND (&&) para o
operador AND SOBRE BITS (&) e vice-versa
consiste em um erro.
Imprimindo um caracter em binário
#include <stdio.h>
#include <stdlib.h>
typedef struct {
unsigned char bit0: 1;
unsigned char bit1: 1;
unsigned char bit2: 1;
unsigned char bit3: 1;
unsigned char bit4: 1;
unsigned char bit5: 1;
unsigned char bit6: 1;
unsigned char bit7: 1;
} Bits;
typedef union {
unsigned char ch;
Bits x;
} Binario;

int main (void){
Binario B;
printf("Digite um caractere: ");
fflush(stdout);
B.ch = getchar();
printf("O caractere digitado é: %c n",
B.ch);
printf("O valor em binário
correspondente é: ");
printf("%d", B.x.bit7);
printf("%d", B.x.bit6);
printf("%d", B.x.bit5);
printf("%d", B.x.bit4);
printf("%d", B.x.bit3);
printf("%d", B.x.bit2);
printf("%d", B.x.bit1);
printf("%d", B.x.bit0);
//system("PAUSE");
return 0;
}
Imprimindo um caracter em binário
Operador and: & e &=
• É um operador binário que executa um AND
com cada par de bits dos operandos.
• Cada bit do resultado é 1 somente quando os
dois bits operandos são 1; em qualquer
situação, o resultado é zero.
• O operador bit a bit AND é normalmente
usado para testar se um bit particular está
ligado ou desligado.
BIT 1 BIT
BIT &
• O processo de teste funciona,2 poisBIT2se
0
operarmos o bit a ser testado 0 com 01, o
1
0
resultado será verdadeiro somente se 0esse
0
1
0
bit estiver ligado.
1

1

1
Operador or: | e |=
• É um operador binário que executa um OR
com cada par de bits dos operandos.
• Cada bit do resultado é zero somente quando
os dois bits operandos são zero; em qualquer
outra situação, o resultado é um.
• O operador bit a bit OR é normalmente
usado para ligar um bit particular.
• O processo funciona, pois, se BIT 1 BIT 2 BIT 1 oBIT 2
operarmos | bit
a ser ligado com 1, o resultado 0
será
0
0
verdadeiro sempre.
1
0
1
0

1

1

1

1

1
Operador xor: ^ e ^=
• É um operador binário que executa um
XOR com cada par de bits dos operandos.
• Cada bit do resultado é 1 somente quando
os dois bits operandos são diferentes;
quando são iguais, o resultado é zero.
• O operador bit a bit XOR é normalmente
BIT 1 BIT 2 BIT 1 | BIT 2
usado para inverter o status0 de 0um bit.
0
1

0

1

0

1

1

1

1

0
Operador de complemento:
~ e ~=
• O operador de complemento opera um único
operando; resulta um valor com todos os bits
invertidos.
• A aplicação do operador ~ duas vezes no mesmo
operando resulta sempre o número original.
• Exemplo:
int main (){
unsigned char ch;
while((ch=getch()) != „X‟)
printf(“%c”, ~ch);
system(“PAUSE”);
return 0;
}
Operador de deslocamento
esquerdo: << e <<=
• Trata-se de um operador binário, mas que age somente no
operando da esquerda.
• Executa um deslocamento para a esquerda, conforme o
número de posições especificado no segundo operando.
• Toda vez que empurramos um bit à esquerda estaremos
multiplicando o número por dois.
X <<= 1; //é o mesmo que x*=2;
X <<= 2; //é o mesmo que x*=4;
• Exemplo:
Operador de deslocamento
esquerdo: << e <<=
int palavra () {
unsigned int n = ~0;
int i;
for( i=0; n; i++)
n <<= 1;
return i;
}
int main(){
int t = palavra();
printf(“O tamanho da palvra dessa máquina é %d
bits. n”, t);
system(“PAUSE”);
return 0;
}
Operador de deslocamento
esquerdo: >> e >>=
• É um operador binário, mas que age
somente no operando da esquerda.
• Executa um deslocamento para a
direita, conforme o número de
posições especificado no segundo
operando.
• Toda vez que empurramos um bit à
direita estaremos dividindo o número
por 2.
X >>= 1; //é o mesmo que x /= 2
Operadores de atribuição sobre
bits
&=

Operador de atribuição sobre bits AND.

|=

Operador de atribuição sobre bits OR inclusivo.

^=

Operador de atribuição sobre bits OR exclusivo.

<<=

Operador de alinhamento à esquerda com atribuição.

>>=

Operador de alinhamento à direita com atribuição.
Precedência e associatividade de operadores
Operadores

Associatividade

Tipo

() [] . 

Esquerda para a direita

Mais alto

+ - ++ -- | & * ~sizeof (tipo)

Direita para a direita

Unário

*/%

Esquerda para a direita

Multiplicativo

+-

Esquerda para a direita

Aditivo

<< >>

Esquerda para a direita

Deslocamento

< <= > >=

Esquerda para a direita

Relacional

== !=

Esquerda para a direita

Igualdade

&

Esquerda para a direita

AND sobre bits

^

Esquerda para a direita

OR sobre bits

|

Esquerda para a direita

OR sobre bits

&&

Esquerda para a direita

AND lógico

||

Esquerda para a direita

OR lógico

?:

Direita para a direita

Condicional

= += -= *= /= |= ^= <<= >>= %=

Direita para a direita

Atribuição

,

Esquerda para a direita

vírgula
Campos de Bits
• C permite que o número de bits de um
membro UNSIGNED ou INT de uma
estrutura ou união armazenado, seja
especificado pelo programador.

• Campos de bits permitem uma utilização
da
memória
mais
competente,
armazenando dados no número mínimo
de bits exigido.
• Os membros de campo de bit DEVEM ser
Campos de Bits
struct bitCar {
unsigned face : 4;
unsigned suit : 2;
unsigned color : 1;
}; //jogo de cartas
• Um campo de bit é declarado ao se colocar um nome de
membro UNSIGNED ou INT seguido por um sinal de doispontos ( : ) e uma constante inteira representando a
largura do campo.
• A constante que representa a largura precisa ser um inteiro
entre 0 e o número total de bits usados para armazenar um
INT inclusive em seu sistema.
Campos de Bits
• O membro face é armazenado em 4 bits, o
membro suit é armazenado em 2 bits e o
membro color é armazenado em 1 bit.
• O número de bits é baseado no intervalo de
valores desejado para cada membro da
estrutura.
• 4 bits podem armazenar valores no intervalo
de 0 a 15;
• 2 bits podem armazenar valores no intervalo 0
a 3;
Campos de Bits
• O membro face armazena as cartas de ÁS até Rei;
• O membro suit armazena as cartas:
– Ouros = 0
– Copas = 1
– Paus = 2
– Espadas = 3

• O membro color armazena as cartas vermelho ou
preto.
Campos de Bits
• Membros de campo de bit das estruturas são
acessados exatamente como qualquer outro
membro da estrutura.
• É possível especificar um campo de bit não
nomeado para ser usado como preenchimento na
estrutura.
Exemplo 1
//converte hexadecimal
para binário
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int palavra();
int main(){
int t, j, num, bit;
unsigned int mask;
while(1){

t = palavra();
//1 no bit mais
significativo e zero nos
outros
mask = pow(2, t-1);
printf(" n Digite um
número em hexadecimal:
");
fflush(stdout);
scanf("%x", &num);
printf("Binário de
%04x é: ", num);
fflush(stdout);
for( j=0; j<t; j++){
Exemplo 1
bit = (mask & num) ? 1 : 0;
printf("%d", bit);
fflush(stdout);
if(((j+1)%8) == 0){
printf("--");
fflush(stdout);
}
mask >>= 1;
}
}
system("PAUSE");
return 0;
}

int palavra(){
unsigned int n=~0;
int i;
for( i=0; n; i++){
n <<= 1;
}
return i;
}

Mais conteúdo relacionado

Mais procurados

Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresWillians Miyabara
 
Redes - Enderecamento IP
Redes - Enderecamento IPRedes - Enderecamento IP
Redes - Enderecamento IPLuiz Arthur
 
4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de Programação4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de ProgramaçãoManuel Menezes de Sequeira
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugolGabriel Faustino
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
CÁLCULO DE SUB-REDES DE FORMA PRÁTICA
CÁLCULO DE SUB-REDES DE FORMA PRÁTICACÁLCULO DE SUB-REDES DE FORMA PRÁTICA
CÁLCULO DE SUB-REDES DE FORMA PRÁTICAAugusto Cezar Pinheiro
 
Aula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a FalhasAula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a FalhasVictor Hazin da Rocha
 
Cisco Packet Tracer
Cisco Packet TracerCisco Packet Tracer
Cisco Packet Tracermaykon-26
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)Márcio Rizzatto
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processosComputação Depressão
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosVictor Hazin da Rocha
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockWilliams Gomes da Silva
 
Sistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFSSistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFSCleber Ramos
 
Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Fernando Passold
 

Mais procurados (20)

Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
portas logicas
portas logicasportas logicas
portas logicas
 
Redes - Enderecamento IP
Redes - Enderecamento IPRedes - Enderecamento IP
Redes - Enderecamento IP
 
4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de Programação4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de Programação
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Linguagem C - Ponteiros
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - Ponteiros
 
CÁLCULO DE SUB-REDES DE FORMA PRÁTICA
CÁLCULO DE SUB-REDES DE FORMA PRÁTICACÁLCULO DE SUB-REDES DE FORMA PRÁTICA
CÁLCULO DE SUB-REDES DE FORMA PRÁTICA
 
Aula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a FalhasAula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a Falhas
 
Cisco Packet Tracer
Cisco Packet TracerCisco Packet Tracer
Cisco Packet Tracer
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas Distribuídos
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
 
Sistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFSSistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFS
 
Manual de portugol
Manual de portugolManual de portugol
Manual de portugol
 
Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)
 
Protocolo IPv4
Protocolo IPv4Protocolo IPv4
Protocolo IPv4
 
Sistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOASistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOA
 

Destaque

Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCFabio Souza
 
Manipulação de bits
Manipulação de bitsManipulação de bits
Manipulação de bitsMatheus Pinto
 
Cuadro De Tecnologia
Cuadro De TecnologiaCuadro De Tecnologia
Cuadro De Tecnologiaguest375ac
 
Evento Talk a bit ++ - Princípios e práticas de lean ux
Evento Talk a bit ++ - Princípios e práticas de lean uxEvento Talk a bit ++ - Princípios e práticas de lean ux
Evento Talk a bit ++ - Princípios e práticas de lean uxagileembassy
 
Project Managment 1st Project Comparing Project
Project Managment 1st Project Comparing ProjectProject Managment 1st Project Comparing Project
Project Managment 1st Project Comparing ProjectYaşar Aycan
 
Apresentação Golden Bit
Apresentação Golden BitApresentação Golden Bit
Apresentação Golden BitReginaldo Alves
 
Tic pedro ramos e sergio carvalho
Tic pedro ramos e sergio carvalhoTic pedro ramos e sergio carvalho
Tic pedro ramos e sergio carvalhononoano_terceira
 
Relatório Webshoppers 24
Relatório Webshoppers 24Relatório Webshoppers 24
Relatório Webshoppers 24Startupi
 
Tecnologia java para sockets
Tecnologia java para socketsTecnologia java para sockets
Tecnologia java para socketslucascsoliveira
 
Manutenção e Utilidades Hospitalares NR 32
Manutenção e Utilidades Hospitalares NR 32Manutenção e Utilidades Hospitalares NR 32
Manutenção e Utilidades Hospitalares NR 32Senac São Paulo
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memóriaPAULO Moreira
 
Proteínas
ProteínasProteínas
Proteínasemanuel
 
Arquitetura computadores cor_capa_ficha_20110126.pdf
Arquitetura computadores cor_capa_ficha_20110126.pdfArquitetura computadores cor_capa_ficha_20110126.pdf
Arquitetura computadores cor_capa_ficha_20110126.pdfMatheusRpz
 
Nr 32 - Resumo da Norma Regulamentadora dos profissionais da saúde
Nr 32 - Resumo da Norma Regulamentadora dos profissionais da saúdeNr 32 - Resumo da Norma Regulamentadora dos profissionais da saúde
Nr 32 - Resumo da Norma Regulamentadora dos profissionais da saúdeRogério Eustáquio Dos Santos
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem Claudson Oliveira
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintóticaPablo Silva
 

Destaque (20)

Aula 11 pc - unioes
Aula 11   pc - unioesAula 11   pc - unioes
Aula 11 pc - unioes
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroC
 
Manipulação de bits
Manipulação de bitsManipulação de bits
Manipulação de bits
 
Cuadro De Tecnologia
Cuadro De TecnologiaCuadro De Tecnologia
Cuadro De Tecnologia
 
Evento Talk a bit ++ - Princípios e práticas de lean ux
Evento Talk a bit ++ - Princípios e práticas de lean uxEvento Talk a bit ++ - Princípios e práticas de lean ux
Evento Talk a bit ++ - Princípios e práticas de lean ux
 
Project Managment 1st Project Comparing Project
Project Managment 1st Project Comparing ProjectProject Managment 1st Project Comparing Project
Project Managment 1st Project Comparing Project
 
Apresentação Golden Bit
Apresentação Golden BitApresentação Golden Bit
Apresentação Golden Bit
 
Tic pedro ramos e sergio carvalho
Tic pedro ramos e sergio carvalhoTic pedro ramos e sergio carvalho
Tic pedro ramos e sergio carvalho
 
Relatório Webshoppers 24
Relatório Webshoppers 24Relatório Webshoppers 24
Relatório Webshoppers 24
 
WebShoppers 6ª Edição
WebShoppers 6ª EdiçãoWebShoppers 6ª Edição
WebShoppers 6ª Edição
 
Informática 2
Informática 2Informática 2
Informática 2
 
Tecnologia java para sockets
Tecnologia java para socketsTecnologia java para sockets
Tecnologia java para sockets
 
Manutenção e Utilidades Hospitalares NR 32
Manutenção e Utilidades Hospitalares NR 32Manutenção e Utilidades Hospitalares NR 32
Manutenção e Utilidades Hospitalares NR 32
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memória
 
Proteínas
ProteínasProteínas
Proteínas
 
Arquitetura computadores cor_capa_ficha_20110126.pdf
Arquitetura computadores cor_capa_ficha_20110126.pdfArquitetura computadores cor_capa_ficha_20110126.pdf
Arquitetura computadores cor_capa_ficha_20110126.pdf
 
Nr 32 - Resumo da Norma Regulamentadora dos profissionais da saúde
Nr 32 - Resumo da Norma Regulamentadora dos profissionais da saúdeNr 32 - Resumo da Norma Regulamentadora dos profissionais da saúde
Nr 32 - Resumo da Norma Regulamentadora dos profissionais da saúde
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
Apostila cobol
Apostila cobolApostila cobol
Apostila cobol
 

Semelhante a Operadores Bit a Bit

Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacionalelliando dias
 
Arquitetura 4 complemento de 2
Arquitetura 4   complemento de 2Arquitetura 4   complemento de 2
Arquitetura 4 complemento de 2Paulo Fonseca
 
Aula04 ponteiros e conversao
Aula04   ponteiros e conversaoAula04   ponteiros e conversao
Aula04 ponteiros e conversaoYuri Passos
 
Prática da disciplina de laboratório de conversão de energia
Prática da disciplina de laboratório de conversão de energiaPrática da disciplina de laboratório de conversão de energia
Prática da disciplina de laboratório de conversão de energiaHeitor Galvão
 
Introducao Computacao Slide 2
Introducao Computacao Slide 2Introducao Computacao Slide 2
Introducao Computacao Slide 2Duílio Andrade
 
(2018-07-14) [Just Python] Números no Python!
(2018-07-14) [Just Python] Números no Python!(2018-07-14) [Just Python] Números no Python!
(2018-07-14) [Just Python] Números no Python!Danilo J. S. Bellini
 
Circuitos aritmeticos
Circuitos aritmeticosCircuitos aritmeticos
Circuitos aritmeticosunifesptk
 
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOSISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOCarlos Pereira
 
Aula dos feras - 3 dia - Sistemas de numeracao.ppt
Aula dos feras - 3 dia - Sistemas de numeracao.pptAula dos feras - 3 dia - Sistemas de numeracao.ppt
Aula dos feras - 3 dia - Sistemas de numeracao.pptCatia Cilene
 
arquitetura de computadores
arquitetura de computadoresarquitetura de computadores
arquitetura de computadoreselliando dias
 
Org arq comp_2008_aula_09
Org arq comp_2008_aula_09Org arq comp_2008_aula_09
Org arq comp_2008_aula_09Jefferson Silva
 
Tp representação de informação
Tp   representação de informaçãoTp   representação de informação
Tp representação de informaçãoLuis Lino Ferreira
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bitsRicardo Bolanho
 

Semelhante a Operadores Bit a Bit (20)

Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacional
 
Arquitetura 4 complemento de 2
Arquitetura 4   complemento de 2Arquitetura 4   complemento de 2
Arquitetura 4 complemento de 2
 
73678283 biblioteca-allegro-aula
73678283 biblioteca-allegro-aula73678283 biblioteca-allegro-aula
73678283 biblioteca-allegro-aula
 
Aula04 ponteiros e conversao
Aula04   ponteiros e conversaoAula04   ponteiros e conversao
Aula04 ponteiros e conversao
 
Prática da disciplina de laboratório de conversão de energia
Prática da disciplina de laboratório de conversão de energiaPrática da disciplina de laboratório de conversão de energia
Prática da disciplina de laboratório de conversão de energia
 
Arq orgcom (1)
Arq orgcom (1)Arq orgcom (1)
Arq orgcom (1)
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 
Introducao Computacao Slide 2
Introducao Computacao Slide 2Introducao Computacao Slide 2
Introducao Computacao Slide 2
 
(2018-07-14) [Just Python] Números no Python!
(2018-07-14) [Just Python] Números no Python!(2018-07-14) [Just Python] Números no Python!
(2018-07-14) [Just Python] Números no Python!
 
Circuitos aritmeticos
Circuitos aritmeticosCircuitos aritmeticos
Circuitos aritmeticos
 
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOSISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
 
Sistemas de numeracao .ppt
 Sistemas de numeracao .ppt Sistemas de numeracao .ppt
Sistemas de numeracao .ppt
 
Aula dos feras - 3 dia - Sistemas de numeracao.ppt
Aula dos feras - 3 dia - Sistemas de numeracao.pptAula dos feras - 3 dia - Sistemas de numeracao.ppt
Aula dos feras - 3 dia - Sistemas de numeracao.ppt
 
arquitetura de computadores
arquitetura de computadoresarquitetura de computadores
arquitetura de computadores
 
Org arq comp_2008_aula_09
Org arq comp_2008_aula_09Org arq comp_2008_aula_09
Org arq comp_2008_aula_09
 
Tp representação de informação
Tp   representação de informaçãoTp   representação de informação
Tp representação de informação
 
Circuitos Aritméticos
Circuitos AritméticosCircuitos Aritméticos
Circuitos Aritméticos
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bits
 
Fundamentos de C#
Fundamentos de C#Fundamentos de C#
Fundamentos de C#
 
Macroprogramacao
MacroprogramacaoMacroprogramacao
Macroprogramacao
 

Mais de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCElaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxElaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesElaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationElaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoElaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsElaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

Último

Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfElianeElika
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxDianaSheila2
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 

Último (20)

Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptx
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 

Operadores Bit a Bit

  • 1. OPERADORES BIT A BIT Profª Ms. Engª Elaine Cecília Gatto Curso de Bacharelado em Engenharia de Computação Universidade do Sagrado CoraçãO – USC Bauru/SP
  • 2. Operadores sobre bits • Computadores representam internamente todos os dados como sequencias de bits; • Os bits podem assumir o valor 0 ou o valor 1; • Na maioria dos sistemas, uma sequencia de 8 bits forma um byte – unidade de armazenamento padrão para uma variável do tipo char; • Outros tipos de dados são armazenados em números maiores de bytes; • Os operadores sobre bits são usados para manipular os bits de operandos inteiros; • Os inteiros sem sinal normalmente são usados com o os operadores sobre bits;
  • 3. Operadores sobre bits • Os operadores sobre bits são: • Comparação dos dois operandos bit a bit: – And (&) – OR inclusivo ( | ) – OR exclusivo ( ^ ) • Deslocamento à esquerda ( < < ) • Deslocamenteo à direita ( > > ) • Complemento ( ~ ) • Ser capaz de operar no nível dos bits é especialmente importante quando o programa deve atuar diretamente no hardware da máquina.
  • 4. Operadores sobre bits AND Os bits são definidos como 1 no resultado, se os bits correspondentes em ambos os operandos forem 1. OR inclusivo Os bits são definidos como 1 no resultado, se pelo menos um dos bits correspondentes em amobs os operandos for 1. OR exclusivo Os bits são definidos como 1 no resultado, se exatamente um dos bits correspondentes em ambos os operandos for 1. Deslocamento à esquerda Desloca os bits do primeiro operando à esquerda pelo número de bits especificado pelo segundo operando: preenche a partir da direita com zero (0) bits. Deslocamento à direita Desloca os bits do primeiro operando à direita pelo número de bits especificado pelo segundo operando: o método de preenchimento a partir da esquerda depende da máquina. Complemento de Todos os bits 0 são definidos como 1, e todos os bits 1 são um definidos como 0.
  • 5. Exibição de um inteiro sem sinal em bits • Ao usar os operadores sobre bits, é útil imprimir valores em sua representação binária para ilustrar os efeitos exatos desses operadores. • O programa a seguir imprime um inteiro sem sinal em sua representação binária em grupos de 8 bits cada. • Os inteiros sem sinal são armazenados, neste exemplo, em 4 bytes ou 32 bits de memória.
  • 6. Exibição de um inteiro sem sinal em bits #include <stdio.h> void displayBits (unsigned value); //protótipo da função int main(void) { unsigned x; printf(“Digite um inteiro sem sinal: ”); scanf(“%u”, &x); displayBits(x); //chama a função return 0; } //função: mostra bits de um valor inteiro sem sinal void displayBits(unsigned value) { unsigned c; //contador
  • 7. Exibição de um inteiro sem sinal em bits //declara displayMask e desloca 31 bits à esquerda unsigned displayMask = 1 << 31; printf(“%10u = ”, value); //percorre os bits for( c=1; c<=32; c++) { putchar(value & displayMask ? „1‟ : „0‟); value <<= 1; //desloca valor à esquerda em 1 if( c%8 == 0) { //gera espaço após 8 bits putchar(„ ‟); } } putchar(„ n ‟); }
  • 8. Exibição de um inteiro sem sinal em bits
  • 9. Exibição de um inteiro sem sinal em bits • A função displayBits usa o operador AND sobre bits para combinar a variável VALUE com a variável DISPLAYMASK. • Frequentemente, o operador AND sobre bits é usado como um operando chamado MÁSCARA – um valor inteiro com bits específicos definidos como 1. • As máscaras são usadas para ocultar alguns bits em um valor enquanto seleciona outros bits. • Na função DISPLAYBITS, a variável máscara DISPLAYMASK recebe o valor 1 << 31 (10000000 00000000 00000000 00000000)
  • 10. Exibição de um inteiro sem sinal em bits • O operador de deslocamento à esquerda desloca o valor 1 a partir do bit de baixa ordem – mais à direita – para o bit de alta ordem – mais à esquerda – em DISPLAYMASK, e preenche bits 0 a partir da direita. • A linha putchar(value & displayMask ? „1‟ : „0‟); determina se 1 ou 0 deve ser impresso para o bit mais à esquerda da variável VALUE. • Quando VALUE e DISPLAYMASK são combinados usando &, todos os bits, exceto o bit de alta ordem na variável VALUE, são mascarados – ocultados – pois qualquer bit que passe por AND com 0 gera 0.
  • 11. Exibição de um inteiro sem sinal em bits • O operador de deslocamento à esquerda desloca o valor 1 a partir do bit de baixa ordem – mais à direita – para o bit de alta ordem – mais à esquerda – em DISPLAYMASK, e preenche bits 0 a partir da direita. • A linha putchar(value & displayMask ? „1‟ : „0‟); determina se 1 ou 0 deve ser impresso para o bit mais à esquerda da variável VALUE. • Quando VALUE e DISPLAYMASK são combinados usando &, todos os bits, exceto o bit de alta ordem na variável VALUE, são mascarados – ocultados – pois qualquer bit que passe por AND com 0 gera 0.
  • 12. Exibição de um inteiro sem sinal em bits • Se o bit mais à esquerda for 1, VALUE & DISPLAYMASK será avaliado como um valor diferente de zero – verdadeiro – e 1 será impresso – caso contrário, 0 será impresso. • A variável VALUE é, então, deslocada um bit à esquerda pela expressão VALUE <<= 1 – isso equivale a VALUE = VALUE << 1. • Essas etapas são repetidas para cada bit na variável UNSIGNED VALUE. • Cuidado: usar o operador lógico AND (&&) para o operador AND SOBRE BITS (&) e vice-versa consiste em um erro.
  • 13. Imprimindo um caracter em binário #include <stdio.h> #include <stdlib.h> typedef struct { unsigned char bit0: 1; unsigned char bit1: 1; unsigned char bit2: 1; unsigned char bit3: 1; unsigned char bit4: 1; unsigned char bit5: 1; unsigned char bit6: 1; unsigned char bit7: 1; } Bits; typedef union { unsigned char ch; Bits x; } Binario; int main (void){ Binario B; printf("Digite um caractere: "); fflush(stdout); B.ch = getchar(); printf("O caractere digitado é: %c n", B.ch); printf("O valor em binário correspondente é: "); printf("%d", B.x.bit7); printf("%d", B.x.bit6); printf("%d", B.x.bit5); printf("%d", B.x.bit4); printf("%d", B.x.bit3); printf("%d", B.x.bit2); printf("%d", B.x.bit1); printf("%d", B.x.bit0); //system("PAUSE"); return 0; }
  • 14. Imprimindo um caracter em binário
  • 15. Operador and: & e &= • É um operador binário que executa um AND com cada par de bits dos operandos. • Cada bit do resultado é 1 somente quando os dois bits operandos são 1; em qualquer situação, o resultado é zero. • O operador bit a bit AND é normalmente usado para testar se um bit particular está ligado ou desligado. BIT 1 BIT BIT & • O processo de teste funciona,2 poisBIT2se 0 operarmos o bit a ser testado 0 com 01, o 1 0 resultado será verdadeiro somente se 0esse 0 1 0 bit estiver ligado. 1 1 1
  • 16. Operador or: | e |= • É um operador binário que executa um OR com cada par de bits dos operandos. • Cada bit do resultado é zero somente quando os dois bits operandos são zero; em qualquer outra situação, o resultado é um. • O operador bit a bit OR é normalmente usado para ligar um bit particular. • O processo funciona, pois, se BIT 1 BIT 2 BIT 1 oBIT 2 operarmos | bit a ser ligado com 1, o resultado 0 será 0 0 verdadeiro sempre. 1 0 1 0 1 1 1 1 1
  • 17. Operador xor: ^ e ^= • É um operador binário que executa um XOR com cada par de bits dos operandos. • Cada bit do resultado é 1 somente quando os dois bits operandos são diferentes; quando são iguais, o resultado é zero. • O operador bit a bit XOR é normalmente BIT 1 BIT 2 BIT 1 | BIT 2 usado para inverter o status0 de 0um bit. 0 1 0 1 0 1 1 1 1 0
  • 18. Operador de complemento: ~ e ~= • O operador de complemento opera um único operando; resulta um valor com todos os bits invertidos. • A aplicação do operador ~ duas vezes no mesmo operando resulta sempre o número original. • Exemplo: int main (){ unsigned char ch; while((ch=getch()) != „X‟) printf(“%c”, ~ch); system(“PAUSE”); return 0; }
  • 19. Operador de deslocamento esquerdo: << e <<= • Trata-se de um operador binário, mas que age somente no operando da esquerda. • Executa um deslocamento para a esquerda, conforme o número de posições especificado no segundo operando. • Toda vez que empurramos um bit à esquerda estaremos multiplicando o número por dois. X <<= 1; //é o mesmo que x*=2; X <<= 2; //é o mesmo que x*=4; • Exemplo:
  • 20. Operador de deslocamento esquerdo: << e <<= int palavra () { unsigned int n = ~0; int i; for( i=0; n; i++) n <<= 1; return i; } int main(){ int t = palavra(); printf(“O tamanho da palvra dessa máquina é %d bits. n”, t); system(“PAUSE”); return 0; }
  • 21. Operador de deslocamento esquerdo: >> e >>= • É um operador binário, mas que age somente no operando da esquerda. • Executa um deslocamento para a direita, conforme o número de posições especificado no segundo operando. • Toda vez que empurramos um bit à direita estaremos dividindo o número por 2. X >>= 1; //é o mesmo que x /= 2
  • 22. Operadores de atribuição sobre bits &= Operador de atribuição sobre bits AND. |= Operador de atribuição sobre bits OR inclusivo. ^= Operador de atribuição sobre bits OR exclusivo. <<= Operador de alinhamento à esquerda com atribuição. >>= Operador de alinhamento à direita com atribuição.
  • 23. Precedência e associatividade de operadores Operadores Associatividade Tipo () [] .  Esquerda para a direita Mais alto + - ++ -- | & * ~sizeof (tipo) Direita para a direita Unário */% Esquerda para a direita Multiplicativo +- Esquerda para a direita Aditivo << >> Esquerda para a direita Deslocamento < <= > >= Esquerda para a direita Relacional == != Esquerda para a direita Igualdade & Esquerda para a direita AND sobre bits ^ Esquerda para a direita OR sobre bits | Esquerda para a direita OR sobre bits && Esquerda para a direita AND lógico || Esquerda para a direita OR lógico ?: Direita para a direita Condicional = += -= *= /= |= ^= <<= >>= %= Direita para a direita Atribuição , Esquerda para a direita vírgula
  • 24. Campos de Bits • C permite que o número de bits de um membro UNSIGNED ou INT de uma estrutura ou união armazenado, seja especificado pelo programador. • Campos de bits permitem uma utilização da memória mais competente, armazenando dados no número mínimo de bits exigido. • Os membros de campo de bit DEVEM ser
  • 25. Campos de Bits struct bitCar { unsigned face : 4; unsigned suit : 2; unsigned color : 1; }; //jogo de cartas • Um campo de bit é declarado ao se colocar um nome de membro UNSIGNED ou INT seguido por um sinal de doispontos ( : ) e uma constante inteira representando a largura do campo. • A constante que representa a largura precisa ser um inteiro entre 0 e o número total de bits usados para armazenar um INT inclusive em seu sistema.
  • 26. Campos de Bits • O membro face é armazenado em 4 bits, o membro suit é armazenado em 2 bits e o membro color é armazenado em 1 bit. • O número de bits é baseado no intervalo de valores desejado para cada membro da estrutura. • 4 bits podem armazenar valores no intervalo de 0 a 15; • 2 bits podem armazenar valores no intervalo 0 a 3;
  • 27. Campos de Bits • O membro face armazena as cartas de ÁS até Rei; • O membro suit armazena as cartas: – Ouros = 0 – Copas = 1 – Paus = 2 – Espadas = 3 • O membro color armazena as cartas vermelho ou preto.
  • 28. Campos de Bits • Membros de campo de bit das estruturas são acessados exatamente como qualquer outro membro da estrutura. • É possível especificar um campo de bit não nomeado para ser usado como preenchimento na estrutura.
  • 29. Exemplo 1 //converte hexadecimal para binário #include <stdio.h> #include <stdlib.h> #include <math.h> int palavra(); int main(){ int t, j, num, bit; unsigned int mask; while(1){ t = palavra(); //1 no bit mais significativo e zero nos outros mask = pow(2, t-1); printf(" n Digite um número em hexadecimal: "); fflush(stdout); scanf("%x", &num); printf("Binário de %04x é: ", num); fflush(stdout); for( j=0; j<t; j++){
  • 30. Exemplo 1 bit = (mask & num) ? 1 : 0; printf("%d", bit); fflush(stdout); if(((j+1)%8) == 0){ printf("--"); fflush(stdout); } mask >>= 1; } } system("PAUSE"); return 0; } int palavra(){ unsigned int n=~0; int i; for( i=0; n; i++){ n <<= 1; } return i; }