Cabio de bit (0 por 1 y 1por 0)

Es código lo que hace es el complemento de un número. Es decir, intercambia, los bits 0 por los 1, y los 1 por los ceros. Siempre hablando en números binarios (base 2).


#include
#include


int main(void)
{
int numero,anterior,peso,inverso;
printf("ingrese un numero positivo:");
scanf("%d",&numero);
if (numero>65535 || numero<0)//Pregunta por overflow y cero
{
printf("FUERA DE RANGO\n");
}
else
{
anterior=numero;//conserva el numero ingresado y trabaja con la copia
for (peso=32768;peso!=0;peso>>=1)
{
if (peso<=anterior)//pregunta por el orden de pesos de los caracteres
{
printf("1");//imprime un 1 si el peso corresponde
anterior=anterior-peso;//disminuye el peso para la próxima evaluación
}
else
{
printf("0");//si el 1 no corresponde rellena con 0
}
}
printf("\n");
}
anterior=65535-numero;//conserva el numero ingresado y trabaja con la copia
for (peso=32768;peso!=0;peso>>=1)
{
if (peso<=anterior)//pregunta por el orden de pesos de los caracteres
{
printf("1");//imprime un 1 si el peso corresponde
anterior=anterior-peso;//disminuye el peso para la próxima evaluación
}
else
{
printf("0");//si el 1 no corresponde rellena con 0
}
}
printf("\n");
system("PAUSE");
return EXIT_SUCCESS;
}

0 comentarios:

Publicar un comentario

Si llegaste hasta acá y no lo encontraste lo que necesitás intentá buscarlo: