Étant donné un nombre de 64 bits, quel est le meilleur moyen de connaître le nombre de bits non affectés appariés aux limites paires. Le remplissage supplémentaire de zéro après le MSB doit être ignoré.Nombre de bits non définis appariés aux limites paires
Par exemple:
Pour les deux numéros 25223 et 10578
25223 -- 01 10 00 10 10 00 01 11
7 6 5 4 3 2 1 0
Count = 2, (at positions 2 and 5)
10578 -- 00 10 10 01 01 01 00 10
7 6 5 4 3 2 1 0
Count = 1, (at position 1. Ignore position 7)
que je pouvais faire un masque, shift-by-2 et comparer, mais je cherche quelque chose de mieux. Y at-il plus rapide que ceci:
def PairedCount(n):
c=0
while(n!=0):
if((n & 3) == 0):
c+=1
n >>= 2;
return c
si je veux compter le nombre de bits non nuls par paires à même des limites? Quelle est la meilleure méthode pour cela?
La réponse de @ ruslik est erronée. Les réponses ne se présentent pas comme prévu. Ce n'est pas ignorer les paires "00" qui. – Zimbabao