Comment puis-je obtenir la position du bit le moins significatif dans le nombre?

Je suis en train de travailler sur un projet de programmation et l'une des choses dont j'ai besoin pour faire est d'écrire une fonction qui retourne un masque qui marque la position de la moins significative de 1 bit. Des idées sur comment je peux déterminer la position à l'aide d'opérateurs au niveau du bit?

ex: 
0000 0000 0000 0000 0000 0000 0110 0000 = 96
What can I do with the # 96 to turn it into:
0000 0000 0000 0000 0000 0000 0010 0000 = 32

J'ai été en claquant ma tête contre le mur pendant des heures à essayer de comprendre ce toute aide serait grandement appréciée!

  • Ce n'est pas un doublon. J'ai oublié de mentionner que c'est à l'aide d'opérateurs au niveau du bit
  • Pas un doublon. Le but n'est pas d'obtenir l'indice du bit le plus bas, mais la valeur.
  • Désolé, mon erreur. Vote serré rétracté.
  • L'obtention de la valeur de l'indice est trivial (1 << index).
  • Oui, mais l'obtention de la valeur par l'intermédiaire de l'indice est d'une inefficacité flagrante. Vous effectuez une opération coûteuse en l'inversant, plutôt que de résoudre le problème directement.
InformationsquelleAutor Riptyde4 | 2013-09-14