Necesito la utilidad de contador de bits en C++ que es capaz de contar el número del bit más significativo en un valor numérico constante y presentar este número como constante de tiempo de compilación.Metaprograma para el conteo de bits
sólo para asegurarse de que todo sea claro - número del bit más significativo para un conjunto de valores numéricos:
255 => 8 (11111111b)
7 => 3 (111b)
1024 => 11 (10000000000b)
26 => 5 (11010b)
Soy nuevo en la programación plantilla, pero creo que esa es la forma.
Proporcione algunas muestras de código, cualquier ayuda sería apreciada.
En otras palabras, es necesario 'piso (lg (n)) + 1', donde' lg' es el logaritmo de base 2. – outis
¿Cuál sería el valor correcto para 0? –
Sí, necesito exactamente 'floor (lg (n)) + 1'. '0' significa que no se requieren bits para almacenar este número, por lo que el resultado es 0 también. – Keynslug