bitset用法总结

定义一个bitset类型的变量

bitset<8>bs;//定义一个名称为bs,且有8位,初始为0的bitset

赋值

bs[0]=1;//把第0位设置为1
bs[3]=true;//把第3位设置为1,因为true可以转换为1

初始并赋值
string初始化bitset

string strval("1100");

bitset<32> bs(strval);
bitset<8>bs(19);

转化为数字

 int x=bs.to_ulong();
    cout<<x<<endl;

转化为字符串

string x=bs.to_string();
    cout<<x<<endl;

bitset操作

b.any

b中是否存在置为1的二进制位?

b.none()

b中不存在置为1的二进制位吗?

b.count()

b中置为1的二进制位的个数

b.size()

b中二进制位的个数

b[pos]

访问b中在pos处的二进制位

b.test(pos)

b中在pos处的二进制位是否为1?

b.set()

把b中所有二进制位都置为1

b.set(pos)

把b中在pos处的二进制位置为1

b.reset()

把b中所有二进制位都置为0

b.reset(pos)

把b中在pos处的二进制位置为0

b.flip()

把b中所有二进制位逐位取反

b.flip(pos)

把b中在pos处的二进制位取反

b.to_ulong()

用b中同样的二进制位返回一个unsigned long值

os << b

把b中的位集输出到os流

猜你喜欢

转载自blog.csdn.net/yiqzq/article/details/81140467
今日推荐