[C con Clase] Volcar los Bits de un número binario

Abel aydabella en yahoo.com.ar
Mie Feb 24 14:05:59 CET 2010


Hola a todos,
hace poco tenía la tarea de volcar los Bits de un número binario cualquiera. Investigando encontré esta solución, pero que no está explicado cómo ocurre el cambio:

int n=136 
//136 en binario= 1000 1000, quiero girar los Bits hasta alcanzar: 0001 0001
la solución que encontré:
x = ((136 * 0x80200802) & 0x0884422110) * 0x0101010101 >> 32;
osea con esto x me dá 17 = 0001 0001.

podría explicarme alguien, cómo ocurre el cambio?
Gracias.
Abel.


Más información sobre la lista de distribución Cconclase