数据结构bitset
术语:某1位置位是置1,某一位复位是某一位清零。
一、3种初始化方式
bitset<32> tmp; //默认构造函数,默认全0。
bitset<32> tmp(-1); //从整形数构造
bitset<32> tmp("101"); //从包含1和0的字符串构造
二、位访问
bitset<32> tmp(256);
tmp.count(); //返回置位的个数
tmp.size() - tmp.count(); //返回复位的个数
tmp.test(idx); //判断idx位是否是置位
tmp.any(); //判断是否所有位置位
tmp.none(); //判断是否所有位复位
tmp.all(); //判断是否所有位置位
三、位操作
tmp.set(); //全部置位
tmp.set(2); //第2位置位
tmp.set(2, 0); //第2位复位
tmp.reset(); //全部复位
tmp.reset(2); //第2位复位
tmp.flip(); //全部