Namespaces
Variants

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

cppreference.net에서
 
 
유틸리티 라이브러리
일반 유틸리티
관계 연산자 (C++20에서 폐기됨)
정수 비교 함수
(C++20)(C++20)(C++20)    
(C++20)
스왑 및 타입 연산
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
공통 어휘 타입
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
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) 버전은 파괴적입니다. 즉, 현재 객체에 대해 시프트를 수행합니다.
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 연산을 수행합니다
(공용 멤버 함수)