Namespaces
Variants

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

From cppreference.net
Utilities library
bitset operator << ( std:: size_t pos ) const ;
(1) (C++11부터 noexcept)
(C++23부터 constexpr)
bitset & operator <<= ( std:: size_t pos ) ;
(2) (C++11부터 noexcept)
(C++23부터 constexpr)
bitset operator >> ( std:: size_t pos ) const ;
(3) (C++11부터 noexcept)
(C++23부터 constexpr)
bitset & operator >>= ( std:: size_t pos ) ;
(4) (C++11부터 noexcept)
(C++23부터 constexpr)

이진 왼쪽 시프트(더 높은 인덱스 위치로)와 이진 오른쪽 시프트(더 낮은 인덱스 위치로)를 수행합니다. 0이 시프트되며, 범위를 벗어나는 인덱스로 이동할 비트는 삭제됩니다(무시됨).

1,2) 이진 왼쪽 시프트를 수행합니다. (2) 버전은 파괴적(destructive)이며, 현재 객체에 대해 시프트를 수행합니다.
3,4) 이진 오른쪽 시프트를 수행합니다. (4) 버전은 파괴적입니다. 즉, 현재 객체에 대해 시프트를 수행합니다.

목차

매개변수

pos - 비트를 이동할 위치 수

반환값

1,3) 시프트된 비트를 포함하는 새로운 bitset 객체입니다.
2,4) * this

예제

#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";
}

출력:

01110010 (initial value)
00111001
00000111
00000011
00000001
00000000 (final value)

참고 항목

(C++20)
비트 단위 왼쪽 회전 결과를 계산함
(함수 템플릿)
(C++20)
비트 단위 오른쪽 회전 결과를 계산함
(함수 템플릿)
이진 AND, OR, XOR 및 NOT 연산을 수행함
(public 멤버 함수)