类模板 bitset 表示一个 N 位的固定大小序列。可以用标准逻辑运算符操作位集,并将它与字符串和整数相互转换。
#include <iostream>
#include <bitset>
using namespace std;
int main()
{
int num;
cin >> num;
std::bitset<16> binary(num);//构造bitset
cout << binary.to_string() << endl;//将Bitset转换为二进制的字符串输出
cout << binary.to_ulong() << endl;//将bitset转换为对应的long型整数
cout << binary.test(2) << endl;//访问bitset下标为2的值,从0开始
cout << binary[2] << endl; //访问bitset下标为2的值,从0开始
cout << binary.size() << endl;//计算bitset的长度
cout << binary.any() << endl; //是不是所有位都为1
cout << binary.set() << endl;//设置所有位为1
cout << binary.set(3) << endl;//设置下标为1的为1
cout << binary.reset() << endl;//设置所有位为0
cout << binary.reset(3) << endl;//设置下标为3的为0
cout << binary.flip() << endl; //所有位反转
cout << binary.flip(2) << endl;//反转指定位第二位
return 0;
}