Différences entre les versions de « Les opérations bit à bit/Manipulations sur les bits de poids faible/fort »

m
: <math>fhs(n) + clz(n) = n - 1</math>
 
Une autre méthode consistecommence àpar réutilisermettre leà code1 qui calcule la puissance de 2 immédiatement supérieure. Pour rappel, la première étape de cet algorithme consiste à remplirtous les bits situés à droite du 1 de poids fort par des 1, avec des décalages successifs. Les seuls bits à rester à 0 sont les 0 de poids forts, qu'on souhaite compter. Une fois qu'on a appliquécela l'algorithmefait, on n'a plus qu'à effectuer un calcul de population count et de soustraire le résultat de <math>n</math>.
 
<syntaxhighlight lang="c">
unsigned NextPowerOf2countLeadingZeros (unsigned n)
{
n |= n >> 1;
 
<syntaxhighlight lang="c">
unsigned NextPowerOf2countLeadingZeros (unsigned n)
{
n |= n >> 1;
38 132

modifications