Inverte uma cadeia binaria.
Publicado por Ygor Thomaz 05/05/2004
[ Hits: 9.590 ]
Homepage: http://www.ygorthomaz.net/
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.
#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; }
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
O que você está ouvindo agora? [2] (188)
warsaw parou de funcionar após atualização do sistema (solução) (10)