0 Tage Serie
cpp / intermediate
Snippet

Typsichere Bitmanipulation mit Bitset

std::bitset bietet eine speichereffiziente Möglichkeit, eine Bitfolge fester Größe zu verwalten. Im Gegensatz zu manuellen bitweisen Operationen auf Integern bietet es Methoden wie 'test', 'set' und 'flip', die eine bessere Abstraktion und Sicherheit beim Umgang mit Flags gewährleisten.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <bitset>
int main() {
// Represents 8 bits, initialized to zero
std::bitset<8> flags;
flags.set(1); // Set bit at index 1
flags.flip(3); // Toggle bit at index 3
if (flags.test(1)) {
std::cout << "Bit 1 is active: " << flags << std::endl;
}
return 0;
}
Erklärung
1
std::bitset<8> flags;
Allokiert eine kompakte Struktur, die 8 einzelne Bits enthält.
2
flags.test(1)
Prüft, ob das Bit an der angegebenen Position gesetzt ist, und gibt einen booleschen Wert zurück.