J'ai besoin d'un utilitaire de compteur de bits en C++ capable de compter le nombre du bit le plus significatif dans une valeur constante numérique et de présenter ce nombre comme une constante de temps de compilation.Métaprogrammes pour le comptage de bits
Juste pour faire tout clair - nombre de bit le plus significatif pour un ensemble de valeurs numériques:
255 => 8 (11111111b)
7 => 3 (111b)
1024 => 11 (10000000000b)
26 => 5 (11010b)
Je suis nouveau à la programmation du modèle, mais je pense que ce chemin.
S'il vous plaît fournir quelques exemples de code, toute aide serait appréciée.
En d'autres termes, vous devez 'étage (lg (n)) + 1', où' lg' est le logarithme en base 2. – outis
Quelle serait la valeur correcte pour 0? –
Oui, j'ai juste besoin de floor (lg (n)) + 1'. '0 'signifie qu'aucun bit n'est requis pour stocker ce nombre, donc le résultat est égal à 0 également. – Keynslug