C++

[C++] bitset 라이브러리

kugnuoy 2024. 1. 17. 16:19

C++ 표준 라이브러리는 비트 플래그 조작을 돕는 std::bitset을 제공한다.

std::bitset을 사용하려면 필요한 비트 수를 나타내는 std::bitset 변수를 정의해야 한다.

#include <bitset>

std::bitset<8>bits(0x3);

std::bitset 변수 bits는 0000 0011 이 된다.

 

std::bitset은 4가지 주요 함수를 제공하는데

1. test() : 비트 상태를 알려준다.

2. set() : 비트를 켠다.

3. reset() : 비트를 끈다.

4. flip() : 비트를 뒤집는다.

 

위 함수들을 활용한 코드가 다음과 같다.

#include <bitset>
#include <iostream>
using namespace std;

int main(){
    bitset<8>bits(0x03)		// 0000 0011
    bits.set(4);		// 0001 0011
    bits.flip(5); 		// 0011 0011
    bits.reset(5);		// 0001 0011
    
    cout << bits.test(4) << endl;
    // 출력: 1
    cout << bits << endl;
    // 출력: 0001 0011
}