C/Visual C - desplazamineto de bits

 
Vista:

desplazamineto de bits

Publicado por loudy (1 intervención) el 11/11/2008 16:18:51
Hola necesito ayuda urgente...
con el codigo o explicacion de como hago el desplamiento de bits a la derecha y la izquierda con rotacion.... espero su ayuda se los agradeceria mucho....espero sus respuestas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:desplazamineto de bits

Publicado por m (8 intervenciones) el 11/11/2008 18:06:26
Es muy sencillo:

unsigned long DesplazaIzq(unsigned long n, unsigned long i)
{
return (n << i) | (n >> (32 - i));
}

unsigned long DesplazaDer(unsigned long n, unsigned long i)
{
return (n >> i) | (n << (32 - i));
}

n es un entero de 8 bits.
Ahora i es el numero que quieres desplazar los bits del numero n.

ejemplo:

int salida=DesplazaIzq(4,2);// sera igual a 16
///Internamente la funcion desplaza el 4 dos bits a la izquierda,
//esto es
// 4 decimal= 00000100 //binario
// 4 decimal desplazado 2 a la izq= 00010000//
//como la funcion esta en long regresara: salida =16;

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar