bitset_operator_logic2

bitset_operator_logic2 (bitset 논리 연산자)

이 페이지는 std::bitset에 대해 비트 단위 AND, OR, XOR을 수행하는 비멤버 연산자 함수들을 다루고 있어요. 두 bitset lhsrhs의 각 비트를 비교해서 결과 bitset을 반환해요. 이 연산자들은 C++11부터 noexcept이고 C++23부터 constexpr이에요.

출처: cppreference

본문

함수 시그니처

<bitset> 헤더에 다음과 같이 정의되어 있어요.

// (1) (C++11부터 noexcept) (C++23부터 constexpr)
template < std :: size_t N > std :: bitset < N > operator & ( const std :: bitset < N >& lhs , const std :: bitset < N >& rhs );

// (2) (C++11부터 noexcept) (C++23부터 constexpr)
template < std :: size_t N > std :: bitset < N > operator | ( const std :: bitset < N >& lhs , const std :: bitset < N >& rhs );

// (3) (C++11부터 noexcept) (C++23부터 constexpr)
template < std :: size_t N > std :: bitset < N > operator ^ ( const std :: bitset < N >& lhs , const std :: bitset < N >& rhs );

이 연산자들은 두 bitset lhsrhs 사이에 이진 AND, OR, XOR을 수행해요.

매개변수

매개변수 설명
lhs 연산자 왼쪽에 있는 bitset
rhs 연산자 오른쪽에 있는 bitset

반환값

각 비트에 대해 지정된 이진 연산을 적용한 결과를 담은 std::bitset<N> 객체를 반환해요.

예제

#include <bitset>
#include <iostream>

int main()
{
    std::bitset<4> b1("0110");
    std::bitset<4> b2("0011");

    std::cout << "b1 & b2: " << (b1 & b2) << '\n';
    std::cout << "b1 | b2: " << (b1 | b2) << '\n';
    std::cout << "b1 ^ b2: " << (b1 ^ b2) << '\n';
}

출력:

b1 & b2: 0010
b1 | b2: 0111
b1 ^ b2: 0101

같이 보기

연산자 설명
operator&=, `operator =, operator^=, operator~`

더 알아보기 (Learn more)

cppreference