1 #include <iostream> 2 #include <bitset> 3 4 using namespace std; 5 6 int main() 7 { 8 //初始化一个bitmap , 将所有位置位 9 bitset<16> bit(0xFFFF); 10 11 cout << "construct" <<endl; 12 cout << bit.to_string() << endl; 13 14 //复位,将第12位置为false , 即0 15 bit.reset(12); 16 cout << " reset 12" << endl; 17 cout << bit.to_string() << endl; 18 19 //复位,将所有位置为false 20 bit.reset(); 21 cout << " reset all" << endl; 22 cout << bit.to_string() << endl; 23 24 //翻转 , 将第2位反转 25 bit.flip(2); 26 cout << " flip 2" << endl; 27 cout << bit.to_string() << endl; 28 29 //反转,将所有位反转 30 bit.flip(); 31 cout << bit.to_string() << endl; 32 33 cout << bit.to_ulong() <<endl; 34 35 //检测是否所有位都没被置位 36 cout << (bit.none()?"没有任何位被置位":"存在某位被置位") << endl; 37 //检测是否存在某位被置位 38 cout << (bit.any()?"存在某位被置位":"没有任何位被置位") << endl; 39 //检测某一位是否被置位 40 cout << "第2位" <<(bit.test(2)?"被":"未") << "置位" << endl; 41 42 return 0; 43 }