Operadores bit a bit em C

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)

Add Done

    Please sign in to answer question.

    2
    João

    http://umamao.com/questions/operadores-bit-a...rs/4c8906e879de4f1a200004ab

    over 1 year ago Andrea Bucci said:

    Obrigada, ajudou bastante! É muito mais fácil entender lendo o passo a passo...

    First step: CAFE >> 4 = CAF

    Second step: CAFE & 0xF = E

    Third step: CAFE << 12 = E000

    Last step: CAF | E000 = ECAF

    over 1 year ago Andrea Bucci said:

    Obrigada, ajudou bastante! É muito mais fácil entender lendo o passo a passo...

    1
    Andrea Bucci

    http://umamao.com/questions/operadores-bit-a...rs/4c8906e879de4f1a200004ad

    over 1 year ago Helder Ribeiro said:

    Isso é uma resposta, então faz sentido postá-la separadamente mesmo. Não tem problema em ter respostas que são "releituras" de outra. Obrigado por postar essa, ficou bem ilustrativa.

    Search results:
    INFO: Operador bit a bit do complemento parece falham em ...

    support.microsoft.com/kb/31510/pt-br

    O operador bit a bit complemento (~) parece funcionar ... em detalhes no manual "Referência da linguagem C". Converter o operando completado em um ...

    Operadores bit-a-bit (bitwise) em Lua - htmlstaff.org ...

    www.htmlstaff.org/ver.php?id=25211

    Lua possuí os seguintes operadores bit-a-bit (bitwise): not = Testa se uma comparação não é verdadeira (true); and = Os bits que estão tanto em "x" quanto em "y ...

    Operadores lógicos e bit a bit no Visual Basic

    msdn.microsoft.com/pt-br/library/wz3k228a.aspx

    ... um positivo ou zero valor. O AndAlso e OrElse operadores não suportam operações bit a bit. ... Operações bit a bit podem ser executadas em somente os tipos integrais.

    Operadores de campo de bit em C - Hardware.com.br - Página Inicial

    www.hardware.com.br/comunidade/valor1-operadores/327491

    Operadores de campo de bit em C [Programação, scripts, web e banco de dados] #327491

    Operadores lógicas e bit a bit no Visual Basic

    msdn.microsoft.com/pt-br/library/wz3k228a(v=VS.90).aspx

    The And, Or, AndAlso, OrElse, e Xor os operadores são binário porque eles levam dois ... Alguns desses operadores também podem executar operações lógicas bit a bit em ...

    Search results provided by Bing | Keep searching on Bing / Google