Ich bin gerade dabei, einen Baum-Enumerator zu schreiben, bei dem ich auf folgendes Problem gestoßen bin:
Ich betrachte maskierte Bitsets, dh Bitsets, bei denen die gesetzten Bits eine Teilmenge einer Maske sind, dh 0000101mit Maske 1010101. Was ich erreichen möchte, ist das Inkrementieren des Bitsets, jedoch nur in Bezug auf die maskierten Bits. In diesem Beispiel wäre das Ergebnis 0010000. Um es etwas klarer zu machen, extrahieren Sie nur die maskierten Bits, dh 0011erhöhen Sie sie auf 0100und verteilen Sie sie erneut auf die Maskenbits 0010000.
Sieht jemand einen effizienten Weg, dies zu tun, ohne die Operation von Hand mit einer Kombination aus Bitscans und Präfixmasken zu implementieren?