Namespaces
Variants

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

De es.cppreference.net
 
 
Biblioteca de utilidades
Soporte del lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de características de la biblioteca (C++20)
Utilidades de programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación ternaria
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
 
 
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 el desplazamiento binario a la izquierda (hacia índices de posición más altos) y el desplazamiento binario a la derecha (hacia índices de posición más bajos). Se introducen ceros, y los bits que irían a un índice fuera de rango se descartan (ignoran).

1,2) Realiza el desplazamiento binario a la izquierda. La versión (2) es destructiva, es decir, realiza el desplazamiento sobre el objeto actual.
3,4) Realiza el desplazamiento binario a la derecha. La versión (4) es destructiva, es decir, realiza el desplazamiento sobre el objeto actual.

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

#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 de bits hacia la izquierda
(plantilla de función)
(C++20)
calcula el resultado de la rotación de bits hacia la derecha
(plantilla de función)
invierte los bits de un entero
(plantilla de función)
realiza las operaciones binarias AND, OR, XOR y NOT
(función miembro pública)