BitSet in C

  • Ich kenne aus Java die Klasse BitSet, die sich gut als Menge von Flags einsetzen lässt. Nun brauche ich sowas in C. Es gibt dort zwar sog. Bitfelder, aber bei 255 benötigten Flags wird das etwas umständlich zu programmieren. Würde sowas funktionieren (Bsp für 128-bit-Feld):?

    Code
    struct bitset { uint32 a, uint32 b, uint32 c, uint32 d }; 
    struct bitset = {0, 0, 0, 0}; 
    bitset |= (1<<pos);


    Vermutlich müsste ich beim Setzten eines Bits noch ein bisschen herumcasten. Oder aber es ist so als Einzeiler gar nicht möglich...? Hat jemand einen Tipp wie ich sowas am elegantesten und laufzeiteffizientesten machen kann?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!