bitset

1.

    bitset<10> a;//a有10位,每位是0
    bitset<10> a1(a);//a1是a的一个副本
    bitset<16> b(0xffff);//b有16位,每位是1
    bitset<32> c(0xffff);//c有16位,0-15是1,16-31是0
    //初始化长度超过bitset长度时,高位被丢弃

2.

用string对象初始化bitset对象

2     string s("1100");
3     bitset<32> ss(s);//第2,3位为1,其余为为0
4     
5     string s1("11100011100011");
6     bitset<32>ss1(s1,5,4);//从s1[5]开始的4位用来初始化(包括s1[5]),即0111
7     bitset<32>ss2(s1,s1.size()-4);//最后4位用来初始化,即0011

3.

any()操作,返回bool,若存在1则返回true

a全为0,c的低16位是1

 4.

count():返回被置为1的位数,返回值类型是size_t

 5.

访问bitset中的位

 6.

reset()和set()操作

reset():

括号里不加参数时,全部复位

set():

括号里不加参数时,全部置位

 7.

test()操作,1的时候返回true

 8.

flip()取反操作

 无参数,全部取反

 9.

to_ulong(),得到序列的十进制值

 10.

输出二进制->直接输出

 11.

size():同vector

bitset操作

 

原文地址:https://www.cnblogs.com/2020R/p/12899970.html