Cita de: oxydec en 28 Octubre 2012, 23:29 PM2) ¿como puedo contar el numero de bits "1" en un tipo como el anterior u otra variable? Preferiblemente con el minimo de instrucciones posible.Utilizando un bucle mas o menos así:
Código (c) [Seleccionar]
for (num_bits = 0; num != 0; num &= num - 1)
num_bits++;
* Al verificar que el numero es distinto de cero sabemos que existe al menos un bit a uno.
* La expresión "num & num - 1" desactiva el bit menos significativo.
Un saludo