원하는 비트 몇 개를 쓰기 위한 bitset STL이다.
이때 0이면 채워지지 않은 것, 1이면 채워진 것이다.
비트 연산을 잘 이해하고 있을 때 비트셋까지 알고 있다면 비트에 관한 내용을 쉽게 다룰 수 있다.
#include 를 이용
bitset<개수> 이름; :: bitset 선언
bit.set() :: 전체 비트를 1로 셋팅
bit.set(n, true/false) :: n+1번째 비트를 1또는 0으로 셋팅
bit.reset() :: 전체 비트를 0으로 리셋
bit.size() :: bitset의 크기를 구한다.
bit.any() :: 비트셋 중 하나라도 1이면 1을 반환, 모두 0일때만 0을 반환
bit.none() :: 비트셋 중 모두가 0이어야 1을 반환
bit.flip() :: 전체 비트를 반전
bit.flip(n) :: n+1번째 비트를 반전
bit.test(n) :: n+1번째 비트를 검사(1인지 0인지)
bit.to_string() :: 전체 비트를 string화 시킨다.
bit.to_ulong() / bit.to_ullong() :: 전체 비트를 unsigned long / unsigned long long 의 값으로 바꿔준다.
bit.test[4] == bit[4] :: 배열처럼 이용이 가능하다.
출처: https://www.crocus.co.kr/549 [Crocus]