bitset用法

Posted ranran1203

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bitset用法相关的知识,希望对你有一定的参考价值。

bitset了以容纳任意个数个位,并提供各项操作

一、初始化

bitset<16>b1;
bitset<16>b2(25);
bitset<16>b3(str, 2, 16);

16表示有16位,不足的高位补0

二、容量

b1.size();也就是16

b1.count();1的个数

三、位判断

b1.any();判断是否有1

b1.none();判断是否所有都为0

b1.test(5);某一位是否为1

四.位设置

b1.set();所有位都设为1

b1.set(5,1);第5位设为1,bit如果是数组的话,就是bit[5],

b1.reset();所有为都设为0

b1.flip();翻转所有为

b1.flip(5);翻转第5位

五、转换成整数

b1.to_ulong();

六、比较

==,!=,>=,<=

左移 <<=,>>=右移

位与&,或|,^uy=异或

七、转换成string

b1.to_string()

也可以按位访问 b1[0]

以上是关于bitset用法的主要内容,如果未能解决你的问题,请参考以下文章

Java BitSet 和 byte[] 用法

黑科技bitset用法mark

biiset用法

比特位计数--C++ bitset 用法

GGreater and Greater(求满足条件的子序列,bitset用法)

BitSet 是个好东西