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 desde C++11)
(constexpr desde C++23) |
|
bitset
&
operator
<<=
(
std::
size_t
pos
)
;
|
(2) |
(noexcept desde C++11)
(constexpr desde C++23) |
|
bitset operator
>>
(
std::
size_t
pos
)
const
;
|
(3) |
(noexcept desde C++11)
(constexpr desde C++23) |
|
bitset
&
operator
>>=
(
std::
size_t
pos
)
;
|
(4) |
(noexcept desde C++11)
(constexpr desde C++23) |
Realiza desplazamiento binario a la izquierda (hacia posiciones de índice más altas) y desplazamiento binario a la derecha (hacia posiciones de índice más bajas). Se introducen ceros, y los bits que irían a un índice fuera de rango se descartan (ignoran).
1,2)
Realiza desplazamiento binario a la izquierda. La
(2)
versión es destructiva, es decir, realiza el desplazamiento en el objeto actual.
3,4)
Realiza un desplazamiento binario hacia la derecha. La
(4)
versión es destructiva, es decir, realiza el desplazamiento en el objeto actual.
Contenidos |
Parámetros
| pos | - | número de posiciones para desplazar los bits |
Valor de retorno
1,3)
Nuevo objeto bitset que contiene los bits desplazados.
2,4)
*
this
Ejemplo
Ejecutar este código
#include <bitset> #include <iostream> int main() { std::bitset<8> b{0b01110010}; std::cout << b << " (valor inicial)\n"; for (; b.any(); b >>= 1) { while (!b.test(0)) b >>= 1; std::cout << b << '\n'; } std::cout << b << " (valor final)\n"; }
Salida:
01110010 (valor inicial) 00111001 00000111 00000011 00000001 00000000 (valor final)
Véase también
|
(C++20)
|
calcula el resultado de la rotación a la izquierda a nivel de bits
(plantilla de función) |
|
(C++20)
|
calcula el resultado de la rotación a la derecha a nivel de bits
(plantilla de función) |
|
realiza operaciones binarias AND, OR, XOR y NOT
(función miembro pública) |