boost::dynamic_bitset
#include <boost/dynamic_bitset.hpp> using namespace boost; int main() { // 构造函数 dynamic_bitset<> db; // 空 dynamic_bitset<> db1(10); // 大小为10 dynamic_bitset<> db2(0x16, BOOST_BINARY(11101));// 大小为22 dynamic_bitset<> db3(std::string("0100")); // 大小为4 dynamic_bitset<> db4(db2); dynamic_bitset<> db5 = db3; cout << db2.to_ulong() << endl;// 29 转换为整数 cout << db3.to_ulong() << endl;// 4 // dynamic_bitset内部由高到底存储二进制位 // 访问 cout << db3[0];// 0 cout << db3[1];// 0 cout << db3[2];// 1 cout << db3[3] << endl;// 0 db3[0] = 1;// 非0就会置为1 cout << db3[0];// 1 cout << db3[1];// 0 cout << db3[2];// 1 cout << db3