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 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 vers la gauche (vers les positions d'indice supérieur) et un décalage binaire vers la droite (vers les positions d'indice inférieur). Des zéros sont introduits, et les bits qui iraient vers un indice hors limites sont ignorés.
1,2)
Effectue un décalage binaire vers la gauche. La
(2)
version est destructive, c'est-à-dire qu'elle effectue le décalage sur l'objet courant.
3,4)
Effectue un décalage binaire vers la droite. La
(4)
version est destructive, c'est-à-dire qu'elle effectue le décalage sur l'objet courant.
Table des matières |
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
Exécuter ce code
#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 de la rotation à gauche au niveau du bit
(modèle de fonction) |
|
(C++20)
|
calcule le résultat de la rotation à droite au niveau du bit
(modèle de fonction) |
|
effectue les opérations binaires ET, OU, XOR et NON
(fonction membre publique) |