티스토리 뷰
목차
C++ 11 BitSet (비트셋) 예제 (정수, 문자열, 논리 연산)
쓸만한 예제를 하나 찾았는데 일본 사이트네요.
가만보면 일본어 사이트에 괜찮은 예제가 많아요.
[C++ 11 BitSet (비트셋) 예제 (정수, 문자열, 논리 연산)]
예제 소스.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include <iostream> #include <bitset> int main() // C++ 11 예제 { // 정수로 8비트 집합 구성 std::bitset<8> bs1(131uL); // 10000011 // 문자열로 8비트 집합 구성 std::bitset<8> bs2("10000011"); // 인덱스 1의 비트가 1인지 판정 if (bs1[1]) { std::cout << "1st bit is 1" << std::endl; } // 2번째 비트를 1로 bs1.set(2); std::cout << "2nd bit to 1 : " << bs1 << std::endl; // 2번째 비트를 다시 0으로 bs1.reset(2); // 하나의 비트가 1인지 판정 if (bs1.any()) { std::cout << "some bits are 1" << std::endl; } // 논리 연산 std::bitset<8> and_bits = bs1 & std::bitset<8>("10000001"); std::bitset<8> or_bits = bs1 | std::bitset<8>("00010100"); std::bitset<8> xor_bits = bs1 ^ std::bitset<8>("00100011"); std::cout << "and : " << and_bits << std::endl; std::cout << "or : " << or_bits << std::endl; std::cout << "xor : " << xor_bits << std::endl; } | cs |
소스 결과
1 2 3 4 5 6 | 1st bit is 1 2nd bit to 1 : 10000111 some bits are 1 and : 10000001 or : 10010111 xor : 10100000 | cs |
C++ 11 BitSet (비트셋) 예제 (정수, 문자열, 논리 연산)