bitset用法总结

第一行国际惯例咕咕咕。

第二行——学习之路任重而道远。

 

以下为正文:

1.bitset是一种类似于数组的结构,不过区别是只能存1or0,而且优化内存空间,一个元素只占1bit

2.相关输出只能用cout

3.bitset的大小在编译时已经确定了

构造

1.<>里的参数表示bitset的大小

2.不够的位数自动补0

3.size小于附的值时,int取后几位,string取前几位

4.(类型(赋值)),int可忽略类型

5.也可以先规定一个变量,再把该变量赋值给bitset

6.赋值字符串时只能用01字符串

7.不进行赋初值时,默认全部为0

    int a = 5;
    string b = "1011";
    char c[4] = {'1','0','1','0'};
    bitset<10>s1(string("1001"));     //0000001001
    bitset<10>s2(int(8));             //0000001000
    bitset<10>s3(8);                  //0000001000
    bitset<4>s4(string("10001"));     //1000
    bitset<4>s5(int(32));             //0000
    bitset<4>s6;                      //0000
    bitset<4>s7(a);                   //0101
    bitset<4>s8(b);                   //1011
    bitset<4>s9(c);                   //1010

基础运算

1.可以用[]进行下标访问和修改

2.二进制中&,|,^,~,>>,<<都可以进行

3.可用!=和==,返回0or1

    bitset<4>s1(string("1001"));
    bitset<4>s2(string("1000"));
    s1[1] = 1;                    
    cout<>1)<

几个函数

    bitset<4>s1(string("1001"));
    bitset<4>s2(string("0011"));
    
    cout<

欢迎指出错误qw

你可能感兴趣的:(算法专区————)