bitset,从名字就可以看出来,是一个(比特)二进制(0和1)的集合
//1.默认构造函数 :0
bitset<10> enum; //a:0000000000
//2.初始化
(1)数值在内存中是以补码形式存储的
(2)若bitset的位数n小于数值的位数,只取数值(小端的)前n位初始化给bitset
int 举例
bitset<4> a(-16); //-16的补码为11111111.....10000,a有4位,因此a:0000
bitset<5> a(17); //17的补码为00000000.....10001,a有5位,因此a:10001
bitset<6> a(-8); //-8的补码为 11111111.....11000,a有6位,因此a:111000
bitset<7> a(8); //8的补码为 00000000.....01000,a有7位,因此a:0001000
string 举例
string b = "100101111"; //bitset的size和字符串长度不匹配的时候如何构造
bitset<3> a(b); //a:100 //当size小于字符串长度,取字符串的前size位
bitset<12> a(b); //a:000100101111 //当bitset的size大于字符串长度,进行补零