bitset 用法整理


//构造函数 bitset<n> b //b有n位,每位都是0 //例: bitset<5> b,则b为00000 bitset<n> b(u) //b是unsigned long型u的一个副本 //例: bitset<32> b(0xffff) 则b的0~15位是1,其余都为0 //即从低位开始填写,长度不够则补0,长度超过舍弃高位 bitset<n> b(s) //b是string对象s中含有的位串的副本 //例: bitset<5> b("1100") 则b为01100 // bitset<5> b("101100") 则b为10110 //字符串的最低位为b的最高位,不够补0,多余舍弃字符串低位 bitset<n> b(s, pos, n); //b是s中从位置pos开始的n个位的副本 //例: bitset<5> b("1110101", 1, 4) 则b为00101 // bitset<5> b("1110101", 1) 则b为11010,从字符串的下标1开始到最后 //字符串初始化记住方法,对于区间(beg, end),若无beg,默认为0, //若无end,默认为s.end();从beg开始数,取出min(n, end - beg + 1), //若长度等于n,则为b的各位,若不等,则在前面补0 //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.set() //把b中所有二进制位置为0 b.set(pos) //把b中pos处的二进制位置为0 b.flip() //把b中所有二进制位逐位取反 b.flip(pos) //把b中在pos处二进制位取反 b.to_ulong() //把b中同样的二进制位返回一个unsigned long值 os << b //把b中的位集输出到os流 

 

你可能感兴趣的:(String,OS)