1.初始化一個bitsetc++
bitset <8> b(6); // 把數字6初始化爲一個8位的二進制
2.以二進制輸出bitsetcode
cout << b << endl; // 結果:00000110
3.取反ip
cout << ~b << endl; // 把b的全部位取反 cout << b.flip() << endl; // 把b的全部位取反 cout << b.flip(0) << endl; // 把b的第k位取反
4.異或it
bitset <8> b(6); bitset <8> a(5); b ^= a;
5.與運算class
bitset <8> b(6); bitset <8> a(5); b &= a;
6.非運算二進制
bitset <8> b(6); bitset <8> a(5); b |= a;
7.移位運算co
cout << (b >> 1) << endl; // 右移一位 cout << (b << 1) << endl; // 左移一位
8.取第k位數字
bitset <8> b(6); // b爲00000110 cout << b[2] << endl; // 第2位爲1
9.出現1的個數位運算
bitset <8> b(6); cout << b.count() << endl; // 輸出2
10.是否出現1
bitset <8> b(6); cout << b.any() << endl; // 輸出1
11.是否全爲0
bitset <8> b(6); cout << b.none() << endl; // 輸出0
12.全置爲1
bitset <8> b(6); cout << b.set() << endl; // 輸出:11111111
13.把某位置爲k
bitset <8> b(6); cout << b.set(0, 1) << endl; // 輸出00000111
14.全置爲0
bitset <8> b(6); cout << b.reset() << endl; // 輸出:00000000