Inverte uma cadeia binaria.
Publicado por Ygor Thomaz 05/05/2004
[ Hits: 9.874 ]
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;
}
vetor01.c (programa que envolve vetor, simples)
Eliminando elementos repetidos de uma sequência
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Configurando o Cairo Dock individualmente em ambientes diferentes na mesma maquina
Calculadoras online gratuitas para o dia a dia do usuário Linux
Utilizando a Ferramenta xcheckrestart no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como instalar Warsaw no Gentoo? (9)
Isso acontece quando tento ajudar alguém (0)
Governo da França vai trocar Windows por Linux (4)









