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

Abel aydabella en yahoo.com.ar
Mie Feb 24 15:10:52 CET 2010


Gracias David por la respuesta,
sin embargo sigo sin entender de porque se toman exactamente esos dos números:
0x80200802   y     0x0884422110
gracias.
Abel

El pasado 2010-02-24 13:59:41, David escribió:
 
D> lo que hiciste es algo asi como
D> quiero sacar la raiz cuadrada de 100
D> Raiz(100) = Raiz(25 *4) = raiz(25) * raiz(4)
D> = raiz(25) * raiz(3+1).....
D> estas haciendo cuentas matematicas, hacelas a mano y vas a ver....
D> igual la solucion era var = 136>>3
D> El 24 de febrero de 2010 10:05, Abel <aydabella en yahoo.com.ar> escribió:
D> > Hola a todos,
D> > hace poco tenía la tarea de volcar los Bits de un número binario
D> > cualquiera. Investigando encontré esta solución, pero que no está explicado
D> > cómo ocurre el cambio:
D> >
D> > int n=136
D> > //136 en binario= 1000 1000, quiero girar los Bits hasta alcanzar: 0001
D> > 0001
D> > la solución que encontré:
D> > x = ((136 * 0x80200802) & 0x0884422110) * 0x0101010101 >> 32;
D> > osea con esto x me dá 17 = 0001 0001.
D> >
D> > podría explicarme alguien, cómo ocurre el cambio?
D> > Gracias.
D> > Abel.
D> > _______________________________________________
D> > Lista de correo Cconclase Cconclase en listas.conclase.net
D> > http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
D> > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
D> >
D> -- 
D> (\__/)
D> (='.'=)This is Bunny. Copy and paste bunny into your
D> (")_(")signature to help him gain world domination.
D> _______________________________________________
D> Lista de correo Cconclase Cconclase en listas.conclase.net
D> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
D> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ


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