2010-09-26 12 views

Répondre

2

Eh oui, BSR. Cependant, notez que la page bithack prétend qu'au moins sur une CPU, une séquence (boucle déroulée) d'opérations de décalage de bits est plus rapide qu'une seule BSR.

+1

Je suis confus par le commentaire sur la page bithacks. BSR en lui-même ne calcule pas la puissance la plus élevée suivante. Vous devez utiliser '64 - BSR (v - 1)', qui n'est évidemment pas "une seule instruction en langage assembleur BSR". Peut-être que je ne fais que le mal interpréter. –

+0

Pas plus rapide. De la page bithack: "Sur un Athlon ™ XP 2100+, j'ai trouvé le décalage ci-dessus, puis le code OR est aussi rapide que d'utiliser une seule instruction en langage assembleur BSR" – liorda

4

Techniquement, non. Il y a BSR pour trouver le bit le plus significatif qui est défini, et BSF pour trouver le bit le moins significatif qui est défini - mais le plus petit élément qui fonctionnera est un mot de 16 bits.