bitset()
#include<bitset>
//定义
bitset<n> bs1; // 长度 n 位,默认全0
cin>>bs1; // 标准读入
bitset<8> bs2 (string("10110011")); // 用字符串初始化
bitset<8> bs3 (num); // 用整数初始化
bool bs[i] // 下标索引获取每一位值,自右往左 0 开始
函数 | 操作 | 时间 |
bs.all() | 全部位为1,返回 true | |
bs.any() | 至少1位设置为1,返回 true,否则 false | |
bs.count() | 返回设置为1的位数 | |
bs.flip(i) bs.flip() |
翻转第i位(最右是第0位) 翻转所有位 | |
bs.none() | 全部为0,返回 true, 否则 false | |
bs.set() bs.set(i) bs.set(i, 0) |
设置全1 bs[i] = 1 bs[i] = 0 | 返回自身 |
bs.to_string() | 返回 字符串形式 | |
bs.to_ullong() | 返回 位形式相等的 unsigned long long 整数2^64 - 1 | bs:1111 = 15 |
bs.to_ulong() | 返回 位形式相等的 unsigned long 整数 2^32 - 1 | |
bs.size() | 返回位数 |