Compreendo o funcionamento das operações bit a bit e sei chegar nos resultados abaixo:
2 & 2 = 2
4 & 8 = 0
2 & 10 = 2
Exemplo do 2 & 10:
0x0010 &
0x1010 =
------
0x0010
Porém estou com dificuldades de aplicar estes conceitos na prática.
Alguém poderia explicar a resposta do exercício abaixo, retirado desta lista?
Considere
int val=0xCAFE;. Escreva uma expressão, usando operadores bit-a-bit, que faça o seguinte:(c) rotacione grupos de quatro bits (i.e., produza
val=0xECAF)Resposta:
val = (val >> 4) | ((val&0xF)<<12)
