Al entrevistar a nuevos candidatos, generalmente les pedimos que escriban un código C para contar el número de bits con valor 1 en una variable de byte dada (por ejemplo, el byte 3 tiene dos 1 bits). Conozco todas las respuestas comunes, como el desplazamiento a la derecha ocho veces o la tabla de índice constante de 256 resultados precalculados.Construcción una expresión lógica que contará bits en un byte
Pero, ¿hay una manera más inteligente sin usar la tabla precalculada? ¿Cuál es la combinación más corta de operaciones de bytes (AND, OR, XOR, +, -, negación binaria, desplazamiento a la izquierda y derecha) que calcula el número de 1 bits?
posible duplicado de [Best algoritmo para contar el número de bits puestos en un entero de 32 bits?] (http://stackoverflow.com/questions/109023/best-algorithm-to-count-the-number-of-set-bits-in-a-32-bit-integer) –