Ir ao conteúdo
  • Cadastre-se

Trecho de programa incompreensível


izalex

Posts recomendados

Alguém poderia me explicar o que esse trecho do programa abaixo irá executar?

 

for (i=1; i <= 8; i++)
    {
        bit = (numero & mascara) ? 1 : 0;
           printf("%x ",bit);
               
           mascara = mascara >> 1;
    }

 

A condição da "mascara" não entendi.

Link para o comentário
Compartilhar em outros sites

Imprime a sequencia de bits, bit por bit (Bitwise)

(>>) este operador descola um casa binaria a esquerda

Exemplo se mascara é M é M := 1000

se dizermos M = M >>1 então M := 0100 desloca uma casa como se fosse em um vetor de binários.

 

supomos que numero := 0111

quando temos numero & M temos 

0111 & 0100 resultado sera 1 pois no instante

 

0 1 1 1

0 1 0 0

______

0 1 0 0 True (A um bit)

 

Edit:

Youtube :: Operadores Bit a Bit (por Paulo Tavares)

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...