Champs de bits

Il faut inclure <bitset> pour déclarer des variables de type std::bitset<N> où N représente le nombre de bits (minimum).

Ensuite, on les manipule avec test(), set(), flip() et reset() de la façon suivante :

Les bits sont numérotés de droite à gauche en commençant à 0.

std::bitset<8> bits{ 0b0000'0101 }; // déclare un champ de 8 bits initialisés avec les valeurs 0000 0101
bits.set(3); // mets le troisième bits à 1
bits.flip(5); // inverse le 5ème bit
bits.reset(4); // met le 4eme bit à 0
std::cout << bits.test(2); // retourne true si le 2ème bit est à 1