Namespaces
Variants

std::bitset<N>:: operator<<,<<=,>>,>>=

From cppreference.net
Utilities library
bitset operator << ( std:: size_t pos ) const ;
(1) (noexcept depuis C++11)
(constexpr depuis C++23)
bitset & operator <<= ( std:: size_t pos ) ;
(2) (noexcept depuis C++11)
(constexpr depuis C++23)
bitset operator >> ( std:: size_t pos ) const ;
(3) (noexcept depuis C++11)
(constexpr depuis C++23)
bitset & operator >>= ( std:: size_t pos ) ;
(4) (noexcept depuis C++11)
(constexpr depuis C++23)

Effectue un décalage binaire vers la gauche (vers les positions d'indice supérieur) et un décalage binaire vers la droite (vers les positions d'indice inférieur). Des zéros sont introduits, et les bits qui iraient vers un indice hors limites sont ignorés.

1,2) Effectue un décalage binaire vers la gauche. La (2) version est destructive, c'est-à-dire qu'elle effectue le décalage sur l'objet courant.
3,4) Effectue un décalage binaire vers la droite. La (4) version est destructive, c'est-à-dire qu'elle effectue le décalage sur l'objet courant.

Table des matières

Paramètres

pos - nombre de positions pour décaler les bits

Valeur de retour

1,3) Nouvel objet bitset contenant les bits décalés.
2,4) * this

Exemple

#include <bitset>
#include <iostream>
int main()
{
    std::bitset<8> b{0b01110010};
    std::cout << b << " (initial value)\n";
    for (; b.any(); b >>= 1)
    {
        while (!b.test(0))
            b >>= 1;
        std::cout << b << '\n';
    }
    std::cout << b << " (final value)\n";
}

Sortie :

01110010 (initial value)
00111001
00000111
00000011
00000001
00000000 (final value)

Voir aussi

(C++20)
calcule le résultat de la rotation à gauche au niveau du bit
(modèle de fonction)
(C++20)
calcule le résultat de la rotation à droite au niveau du bit
(modèle de fonction)
effectue les opérations binaires ET, OU, XOR et NON
(fonction membre publique)