Inverte uma cadeia binaria.
Publicado por Ygor Thomaz 05/05/2004
[ Hits: 9.839 ]
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;
}
Jogo: Acerte o número (com níveis de dificuldade)
Converter um vetor em uma matriz multidimensional
Instalação e Configuração do Void com Cinnamon
Porque Gentoo semi-binário atualmente (desabafo)
A combinação de WMs com compositores feitos por fora
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Guia de instalação do Gentoo Linux com Cinnamon (UEFI, LUKS2, Btrfs)
Aparecer o Chuck Norris no seu terminal
Da pra formatar um netbook MGB e usar algum linux nele? É possível usa... (2)
Alguns aplificativos em Flatpak não rodam no Debian (4)
CachyOS vs Arch [RESOLVIDO] (11)
Um filme, uma banda, um jogo, um livro, um anime (ou mangá) (13)









