Inverte uma cadeia binaria.
Publicado por Ygor Thomaz 05/05/2004
[ Hits: 9.531 ]
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; }
gramquilo.c - Transforma grama em quilo
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Problemas latentes de performance no Ubuntu 25.04 (0)
Problema ao iniciar o Opensuse Tumbleweed (4)