Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | utility‎ | bitset
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-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 Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
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 binäre Links- und Rechtsverschiebungen durch (zu höheren bzw. niedrigeren Indexpositionen). Nullen werden hineingeschoben, und Bits, die einen Index außerhalb des gültigen Bereichs erreichen würden, werden verworfen (ignoriert).

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

Inhalt

[bearbeiten] Parameter

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

[bearbeiten] Rückgabewert

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

[bearbeiten] 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)

[bearbeiten] Siehe auch

(C++20)
berechnet das Ergebnis einer bitweisen Linksrotation
(Funktion-Template) [bearbeiten]
(C++20)
berechnet das Ergebnis einer bitweisen Rechtsrotation
(Funktion-Template) [bearbeiten]
führt binäre AND-, OR-, XOR- und NOT-Operationen durch
(public member function) [edit]