Buscar

E 04 - Operadores bit-a-bit

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas Embarcados 1 
Operadores Bit-a-Bit (Lista de Exercí cios) 
Valor 
Está lista não compõem a nota bimestral. 
 
Quantidade de alunos 
A lista deve preferencialmente ser desenvolvida individualmente. 
 
Data de entrega e defesa 
Não é necessário a entrega da lista. 
 
Exercícios 
1. Quais as vantagens e diferenças de utilização de operadores bit-a-bit em relação a operadores 
“normais”? 
 
2. Determine as funções de cada uma das operações bit-a-bit: 
 
3. Qual o valor das variáveis ao final dos códigos apresentados abaixo: 
 
void func1() { 
uint32_t a = 0x10, b = 0b10, c, d; 
c = a << b; 
c |= a; 
b = a | (c >> 2); 
d = 0x00100000 | (0x04000000 & (~0x000E0000)); 
} 
 
void func2() { 
uint32_t a = 0x10, b = 0b10, c, d; 
c = a >> b; 
c |= a; 
b = a | (c << 2); 
d = 0x02000000 | (0x00800000 & (~0x000E0000)) 
} 
 
 
 
 
 
 
 
 
Sistemas Embarcados 2 
void func3() { 
uint32_t a = 0x10, b = 0b10, c; 
a = 0x02000000 | (0x04000000 & (~0x000E0000)); 
c = a >> (b << 3); 
a ^= (c | a); 
b = (a | (c << 2)) & 0xFF0FF0FF; 
if (((b >> 3) & 8) == 1) 
a = b | c; 
else 
a = b & c; 
} 
 
void func4() { 
uint32_t a = 0x10, b = 0b10, c; 
a = 0x02000000 | (0x04000000 & (~0x000E0000)); 
c = a >> (b << 3); 
a ^= (c | a); 
b = (a | (c >> 2)) & 0xFF0FF0FF; 
if (((b >> 2) & 8) == 8) 
a = b | c; 
else 
a = b & c; 
}

Continue navegando