Namespaces
Variants

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

From cppreference.net
Utilities library
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 Verschiebung nach links (in Richtung höherer Indexpositionen) und eine binäre Verschiebung nach rechts (in Richtung niedrigerer Indexpositionen) aus. Es werden Nullen hereingeschoben, und Bits, die außerhalb des gültigen Indexbereichs landen würden, werden verworfen (ignoriert).

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

Inhaltsverzeichnis

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 der bitweisen Linksrotation
(Funktionsschablone)
(C++20)
berechnet das Ergebnis der bitweisen Rechtsrotation
(Funktionsschablone)
führt binäres UND, ODER, XOR und NOT aus
(öffentliche Elementfunktion)