Ir ao conteúdo
  • Cadastre-se
izalex

Trecho de programa incompreensível

Recommended Posts

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.

Compartilhar este post


Link para o post
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)

Compartilhar este post


Link para o post
Compartilhar em outros sites

de nada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×