std::bitset<10> b1;
std::cout << "b1 = " << b1 << std::endl;//打印0000000000
b1.set(9);
std::cout << "b1 = " << b1 << std::endl;//打印1000000000
b1.flip(2);
std::cout << "b1 = " << b1 << std::endl;//打印1000000100
std::cout << "all: " << b1 .all() << std::endl;//是否全是1
std::cout << "all: " << b1.any() << std::endl;//是否存在1
std::cout << "all: " << b1.count() << std::endl;//1的个数
b1.flip();//全部反转
std::cout << "all: " << b1.none() << std::endl;//是否全是0
std::cout << "all: " << b1.reset() << std::endl;//全部设置为0
std::cout << "all: " << b1.reset(1) << std::endl;//将第1位设置为0
std::cout << "all: " << b1.set() << std::endl;//全部设置为1
std::cout << "all: " << b1.set(1,0) << std::endl;//第1位设置为0
std::cout << "all: " << b1.set(1) << std::endl;//第1位设置位1
for (size_t i = 0; i < b1.size(); ++i) {
std::cout << "all: " << b1.test(i) << std::endl;//检测当前位是否位1
}
//转化位string
std::cout << "string bit = " << b1.to_string<char, std::string::traits_type, std::string::allocator_type>() << std::endl;
C++ bit位操作
最新推荐文章于 2024-05-16 22:58:23 发布