Inverte uma cadeia binaria.
Publicado por Ygor Thomaz 05/05/2004
[ Hits: 9.689 ]
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;
}
Escolha o algoritmo de ordenação
EXPRESSÕES ARITMÉTICAS - PARTE 2
Biblioteca do Calculo do Retangulo em C++
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









