Namespaces
Variants

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

Со ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы проверки возможностей библиотеки (C++20)
Программные утилиты
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
 
 
bitset operator<<( std::size_t pos ) const;
(1) (noexcept начиная с C++11)
(constexpr начиная с C++23)
bitset& operator<<=( std::size_t pos );
(2) (noexcept начиная с C++11)
(constexpr начиная с C++23)
bitset operator>>( std::size_t pos ) const;
(3) (noexcept начиная с C++11)
(constexpr начиная с C++23)
bitset& operator>>=( std::size_t pos );
(4) (noexcept начиная с C++11)
(constexpr начиная с C++23)

Выполняет двоичный сдвиг влево (в сторону более высоких индексных позиций) и двоичный сдвиг вправо (в сторону более низких индексных позиций). Сдвинутые биты заполняются нулями, а биты, которые должны выйти за пределы допустимого диапазона индексов, отбрасываются (игнорируются).

1,2) Выполняет двоичный сдвиг влево. Версия (2) является разрушающей, т.е. выполняет сдвиг над текущим объектом.
3,4) Выполняет двоичный сдвиг вправо. Версия (4) является разрушающей, т.е. выполняет сдвиг над текущим объектом.

Параметры

pos - количество позиций для сдвига битов

Возвращаемое значение

1,3) Новый объект bitset, содержащий сдвинутые биты.
2,4) * this

Пример

#include <bitset>
#include <iostream>
int main()
{
    std::bitset<8> b{0b01110010};
    std::cout << b << " (начальное значение)\n";
    for (; b.any(); b >>= 1)
    {
        while (!b.test(0))
            b >>= 1;
        std::cout << b << '\n';
    }
    std::cout << b << " (конечное значение)\n";
}

Вывод:

01110010 (начальное значение)
00111001
00000111
00000011
00000001
00000000 (конечное значение)

См. также

(C++20)
вычисляет результат циклического сдвига влево
(шаблон функции)
(C++20)
вычисляет результат циклического сдвига вправо
(шаблон функции)
обращает порядок битов в целочисленном значении
(шаблон функции)
выполняет побитовые операции И, ИЛИ, исключающее ИЛИ и НЕ
(public функция-член)