본문 바로가기
Programming/Tips(C++,C#)

Bitset

by 곰네Zip 2011. 10. 18.
참고 자료 : C++.com (http://cplusplus.com/reference/stl/bitset/ )

Bitset은 bit저장을 위해 고안된 특수한 컨테이너다. (각 요소들은 0또는 1만 값을 가짐)
배열과 비슷하지만, 배열의 각 요소들은 1 bit씩의 공간을 차지하도록 고안된 점이 차이.

멤버함수
Bit Operations
 - set : 해당 bit를 1로 설정
 - unset : 해당 bit를 0으로 설정
 - flip : 해당 bit의 값을 뒤집음 (1이면 0으로, 0이면 1로)

Bit access :
 operator[] : 각 bit에 대한 접근은 bit[n]으로 접근한다. 배열과 비슷하다. 다만 차이점은.. 이것은 각 bir에 대해서 적용되므로.. 다음과 같은 경우에는 주의가 필요.
 char num[4]= "1234" 일때.. 1은 num[0]이 되지만..
 bitset의 경우, 1이라는 값은 numbit[3]이다.

Bitset operations :
 - to_ulong : bitset의 값을 ulong으로 변환
 - to_string : bitset의 값을 string으로 변환
 - count : bitset에서 값이 set된 갯수를 카운트 (즉 1을 count)
 - size : bitset의 size를 가져옴
 - test : bit의 값을 가져옴
 - any : 값이 하나라도 set되어 있으면 true반환
 - none :  값이 한개도 set되어 있지 않으면 true반환
반응형

댓글