Bit(비트) 단위로 Data를 저장하고 조작 할 수 있는 class이다.
(하지만 실제로 Bit 단위로 메모리를 사용하는 것은 아니다.)
사용하기 위해서는 bitset를 include 해 줘야 한다.
#include <bitset>
선언은
std::bitset<5> B;
bitset<Bit수> 로 선언을 하면 된다. (크기는 Compile time에 정해져야 한다. run time에 결정을 해서 정하지 못하는게 좀 아쉽다.)
배표적인 멤버함수는 다음과 같다.
bool bitset<N>::any() : 어떤거라도 켜져 있으면 true, 아니면 false
bool bitset<N>::test(i) : i번째 값을 return
bitset<N> &bitset<N>::set(i,b) : i번째 값을 b로 설정한다. b는 적어주지 않으면 default 가 1이다.
bitset<N> &bitset<N>::reset(i) : i번째 값을 0으로 설정한다.
size_t bitset<N>::count() : 1의 갯수를 return 한다.
간단히 아래 예제만으로 모든 사용법을 다 익힐수 있다.
#include <iostream>
#include <bitset>
void main()
{
std::bitset<5> B; // 00000
B.set(0); // 00001
B.set(1); // 00011
B.set(3); // 01011
std::cout << B << std::endl; // 01011
bool b1 = B.any(); // true
bool b2 = B.test(2); // false
B.reset(3);
std::cout << B << std::endl; // 00011
size_t s = B.count(); // 2
}
|
댓글 없음:
댓글 쓰기