Inverte uma cadeia binaria.
Publicado por Ygor Thomaz 05/05/2004
[ Hits: 9.602 ]
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; }
Calcula valor da prestação atrasada
Digitar dados em um vetor, guardando-os sequencialmente em um arquivo texto
Máquina perereca - até onde é possível o uso de Linux?
Mitigação - O que é e quando é "seguro" desabilitar
Atualizar Debian Online de uma Versão para outra
A arte e a prática da Disciplina a longo prazo
Topgrade - Atualize seu sistema Linux inteiro com um único comando
Como anda a saúde do disco rígido?
Reescalando a tela hd para fullhd com o xrandr
Debian 13 "trixie&... lançado! (5)
Rede Windows / Linux Mint- pastas e arquivos somente como leitura (4)
Agora temos uma assistente virtual no fórum!!! (252)