Hola
Tengo problemas con el siguiente ejercicio "Realizar una función que efectúe el SHIFT A DERECHA completando con 0 desde la izquierda. Aplicarla en
un programa de ejemplo. "
Se hacerlo con el shift a la izquierda pero no me sale con el shift a derecha, ni tampoco se como completar con 0 desde la izquierda, estoy re perdido con este.
Basicamente el programa tiene que
- Pedir letra
- Realizar la funcion
- Mostrar la letra en binario.
Con el de la izquierda no tengo problemas y me quedo asi
#include <stdio.h>
#include <stdlib.h>
int main()
{
char letra;
int i=7;
printf ("Ingrese una letra: \n");
letra=getche();
printf ("\n");
while (i>=0)
{
if (letra&(1<<i))
{
printf ("1");
}
else
{
printf ("0");
}
i--;
}
return 0;
}
Como tendria que modificarlo para que me quede como me piden?..Porque siempre use el izquierdo.
La idea es la misma solo tendria que invertir la direccion.
while (i>=0)
{
letra=letra>>1;
printf("%i",(letra % 2)? 1:0);
i--;
}