[pyar] como sacar informacion de un numero (como si fuera un bitfield)

Daniel Moisset dmoisset en machinalis.com
Mie Ago 11 10:17:49 ART 2010


2010/8/11 Gerardo Herzig <gherzig en fmed.uba.ar>:
> Hola chicos: A ver si brevemente me puedo explicar respecto de lo que
> necesito.
>
> Si tengo un numero que reprenta una sumatoria de ciertas potencias de 2,
> es decir
>
> 3 = 2 + 1
>
> 12 = 8 + 4
> 22 = 16 + 4 +2
>
> Y quiero averiguar si el 22 'incluye' al 4 (en base a la descomposicion
> del 22 en potencias de 2)

si k es una potencia de 2 (por ejemplo k=4)

la condicion que queres es:
 * 22 & k != 0
 * o tambien 22 & k == k
(son equivalentes)

si k es una suma de potencias de 2:
 * 22 & k != 0 cuando _al menos una_ de las potencias que aparecen en
k esta en 22
 * 22 & k == k cuando _todas_ de las potencias que aparecen en k estan en 22

Saludos,
   D.



More information about the pyar mailing list