Je suis actuellement en train d'écrire un énumérateur d'arbres et j'ai rencontré le problème suivant :
Je cherche des ensembles de bits masqués, c'est-à-dire des ensembles de bits où les bits de l'ensemble sont un sous-ensemble d'un masque. 0000101
avec masque 1010101
. Ce que je veux faire, c'est incrémenter le jeu de bits, mais uniquement en ce qui concerne les bits masqués. Dans cet exemple, le résultat serait 0010000
. Pour rendre les choses un peu plus claires, n'extrayez que les bits masqués, c.-à-d. 0011
et les incrémenter à 0100
et les distribuer à nouveau aux bits de masque, ce qui donne 0010000
.
Quelqu'un voit-il un moyen efficace de le faire, à moins d'implémenter l'opération à la main en utilisant une combinaison de balayages binaires et de masques de préfixe ?