Trouver bit de poids fort (le plus à gauche) qui est définie dans un tableau de bits

J'ai un tableau de bits de mise en œuvre où l'0e indice est le bit de poids fort du premier octet dans un tableau, la 8e édition de l'indice de l'ESM de la deuxième octet, etc...

Ce qui est un moyen rapide pour trouver le premier bit est définie dans ce tableau de bits? Toutes les solutions que j'ai regardé jusqu'à trouver le premier bit le moins significatif, mais j'ai besoin de le premier plus importante. Donc, étant donné 0x00A1, je veux 8 (puisque c'est le 9ème bit en partant de la gauche).

  • N'est-ce pas le bit 7 le bit le plus significatif dans 0x00a1 (en supposant que le lsb est le bit 0)?
  • Est votre tableau de bits de longueur arbitraire, ou s'inscrit-il dans une machine à mot?
  • J'ai été en comptant à partir de la gauche. En binaire, j'obtiens un "0000/0000/1010/0001", c'est le 9ème bit, avec un indice de 8. j'ai fait une erreur, bien que, il devrait être de 8, pas 9.
  • De l'interface, vous avez à votre tableau de bits? Quelles sont les opérations que vous pouvez effectuer sur elle?
  • c'est un C tableau de caractères
  • Il y a une autre page avec des détails déjà... stackoverflow.com/questions/671815/...
  • Trouver le plus significatif bit est équivalent à l'entier logarithme binaire

InformationsquelleAutor Claudiu | 2010-04-06