bitset_operator_logic2
bitset_operator_logic2 (bitset 논리 연산자)
이 페이지는 std::bitset에 대해 비트 단위 AND, OR, XOR을 수행하는 비멤버 연산자 함수들을 다루고 있어요. 두 bitset lhs와 rhs의 각 비트를 비교해서 결과 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 lhs와 rhs 사이에 이진 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~` |