std::bitset<N>:: operator<<,<<=,>>,>>=
From cppreference.net
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::bitset
| Member types | ||||
| Member functions | ||||
|
(until C++20)
|
||||
| Element access | ||||
| Capacity | ||||
| Modifiers | ||||
|
bitset::operator<<=
bitset::operator>>=
bitset::operator<<
bitset::operator>>
|
||||
| Conversions | ||||
|
(C++11)
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(C++11)
|
||||
|
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
Diesen Code ausführen
#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) |