Inverte uma cadeia binaria.

Publicado por Ygor Thomaz 05/05/2004

[ Hits: 9.443 ]

Homepage: http://www.ygorthomaz.net/

Download inverte.c




Este programa utiliza propriedades de manipulação de bits para inverte os bits que compoem o valor de entrada no programa. Ele utiliza duas mascaras para fazer o processo de inversão. O unsigned é usado para "anular" o bit de sinal no programa.

Recomendado para estudantes de logica de computadores e iniciados em C. Aborda Funcões, Manipulacao de bits.

  



Esconder código-fonte

#include<stdio.h>
unsigned int inverte(unsigned int numero);

void main (void) {
  unsigned int numero, retorno;
  printf("Digite o numero que deseja inverter:");
  scanf("%u", &numero);
  retorno = inverte(numero);
  printf("%u", retorno);
}

unsigned int inverte(unsigned int numero) {
  unsigned int mask1 = 1, mask2 = 0x8000, aux = 0;
  int i;
  for(i=0; i<16; i++) {
    if(numero & mask1) {
      aux = aux | mask2;
    }
    mask1 = mask1 << 1;
    mask2 = mask2 >> 1;
  }
  return aux;
}

Scripts recomendados

Processo em background

gerenciador de historico de comandos

Cones

Jogo do Labirinto no Terminal

Saber se um número é primo (algoritmo super simples)


  

Comentários
[1] Comentário enviado por removido em 10/06/2008 - 14:44h

sou newba e nao entendi nada pdoksapkdap


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts