Inverte uma cadeia binaria.
Publicado por Ygor Thomaz 05/05/2004
[ Hits: 9.360 ]
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; }
Uma ajuda para quem gosta de Geometria Analítica
Função simples sendo chamada dentro da main
primeirafuncao.c - Criando uma função
Compilando um Kernel customizado a partir do código-fonte do Kernel do Debian 12
Gentoo binário ao lado da sua distro atual
Documentação para a função de carregamento saudável da bateria do notebook Acer Aspire 5 no Linux
Instalando Google Chrome no Linux Mint 22
O Que Fazer Após Instalar Linux Mint 22
Instalando o Dolphin e deixando-o "pretinho" acompanhando o tema escuro do Gnome-Shell