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

Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoWesley R. Bezerra
 
C++ introducao
C++ introducaoC++ introducao
C++ introducaoSedu
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaLeinylson Fontinele
 
Arquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyArquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyElaine Cecília Gatto
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizesTácito Graça
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Leinylson Fontinele
 
Expressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasExpressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasSérgio Souza Costa
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alvesGrupython Ufla
 
Variaveis
VariaveisVariaveis
VariaveisSedu
 
Lista de exercício
Lista de exercício   Lista de exercício
Lista de exercício Jota Thin
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosMauro Pereira
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em PythonRodrigo Hübner
 

Mais procurados (20)

Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
 
Sistemas Digitais
Sistemas DigitaisSistemas Digitais
Sistemas Digitais
 
C++ introducao
C++ introducaoC++ introducao
C++ introducao
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
 
Arquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyArquitetura de Computadores: Assembly
Arquitetura de Computadores: Assembly
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Aula 06 vetores e matrizes
Aula 06   vetores e matrizesAula 06   vetores e matrizes
Aula 06 vetores e matrizes
 
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
 
Expressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicasExpressões aritméticas, relacionais e lógicas
Expressões aritméticas, relacionais e lógicas
 
Visualg
VisualgVisualg
Visualg
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
Variaveis
VariaveisVariaveis
Variaveis
 
Lista de exercício
Lista de exercício   Lista de exercício
Lista de exercício
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicos
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Introdução à Programação em Python
Introdução à Programação em PythonIntrodução à Programação em Python
Introdução à Programação em Python
 

Destaque

Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas DigitaisMicrocontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas DigitaisFabio 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
 
Microcontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas DigitaisMicrocontroladores PIC - Entradas e saídas Digitais
Microcontroladores PIC - Entradas e saídas Digitais
 
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

Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
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
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
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
 
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
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
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
 

Último (20)

Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
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)
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
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.
 
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
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
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...
 

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; }