boost库中好用的bitset(位串)

// boost中的bitset // 太棒了 #include #include #include int main(int argc, char* argv[]) { int n=32; boost::dynamic_bitset mb(n, 0x1a2b3c4d); std::cout << "my bitset: " << mb.size() << "位, " << mb << std::endl; ////////////////////////////////////////////////////////////////////////// // 注意, bitset的添加以及[]操作, // 刚添加的在最前; [0]在最后, [n]在最前 ////////////////////////////////////////////////////////////////////////// // 添加两个元素, <>中的类型. 这里是unsigned char, // append一次, 就增加了8位 mb.append(1); mb.append(2); std::cout << "my bitset: " << mb.size() << "位, " << mb << std::endl; // 添加位 mb.push_back(1); mb.push_back(0); std::cout << "my bitset: " << mb.size() << "位, " << mb << std::endl; // 取反, >> << & | ^等就不提了 mb = ~mb; std::cout << "my bitset: " << mb.size() << "位, " << mb << std::endl; // 转换为string std::string mstr; boost::to_string(mb, mstr); std::cout << "my string: " << mstr << std::endl << std::endl; // 获取用户输入的bitset std::cout << "请输入01串: "; boost::dynamic_bitset user_bs; std::cin >> user_bs; if(user_bs.size() > 0) std::cout << "你输入的是: " << user_bs << std::endl; else std::cerr << "some error occured." << std::endl; system("PAUSE"); }

你可能感兴趣的:(C/C++/C#)