Namespaces
Variants

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

Von de.cppreference.net
 
 
Dienstprogramm-Bibliothek
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Koroutinen-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationsoperatoren (veraltet in C++20)
Ganzzahl-Vergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Swap und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabular-Typen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
bitset operator<<( std::size_t pos ) const;
(1) (noexcept seit C++11)
(constexpr seit C++23)
bitset& operator<<=( std::size_t pos );
(2) (noexcept seit C++11)
(constexpr seit C++23)
bitset operator>>( std::size_t pos ) const;
(3) (noexcept seit C++11)
(constexpr seit C++23)
bitset& operator>>=( std::size_t pos );
(4) (noexcept seit C++11)
(constexpr seit C++23)

Führt eine binäre Linksverschiebung (in Richtung höherer Indexpositionen) und eine binäre Rechtsverschiebung (in Richtung niedrigerer Indexpositionen) durch. Nullen werden hereingeschoben, und Bits, die auf einen Index außerhalb des Bereichs fallen würden, werden verworfen (ignoriert).

1,2) Führt eine binäre Linksverschiebung durch. Die (2) Version ist destruktiv, d.h. sie führt die Verschiebung auf dem aktuellen Objekt durch.
3,4) Führt eine binäre Rechtsverschiebung durch. Die (4) Version ist destruktiv, d.h. sie führt die Verschiebung auf dem aktuellen Objekt durch.

Parameter

pos - Anzahl der Positionen, um die die Bits verschoben werden

Rückgabewert

1,3) Neues Bitset-Objekt, das die verschobenen Bits enthält.
2,4) * this

Beispiel

#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";
}

Ausgabe:

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

Siehe auch

(C++20)
berechnet das Ergebnis einer bitweisen Linksrotation
(Funktionsschablone)
(C++20)
berechnet das Ergebnis einer bitweisen Rechtsrotation
(Funktionsschablone)
kehrt die Bits in einer Ganzzahl um
(Funktionsschablone)
führt binäres UND, ODER, XOR und NICHT aus
(öffentliche Elementfunktion)