Namespaces
Variants

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

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support de types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
 
 
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 à gauche (vers les indices de position supérieurs) et un décalage binaire à droite (vers les indices de position inférieurs). Des zéros sont insérés, et les bits qui atteindraient un index hors plage sont abandonnés (ignorés).

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

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 d'une rotation gauche au niveau des bits
(modèle de fonction)
(C++20)
calcule le résultat d'une rotation droite au niveau des bits
(modèle de fonction)
inverse les bits d'un entier
(modèle de fonction)
effectue un ET, OU, XOR et NON binaires
(fonction membre publique)