使用bitset可以方便地进行位操作,并可转为string型和无符号整型。
#include <bitset> int main() { //构造函数 bitset<16> a(3);//整数转二进制 bitset<5> b("101010"); //输出流与随机存取 cout<<b<<" "<<b[1]<<endl; //置位 a.set();//全部置位 b.set(0);//置第一位 cout<<a<<" "<<b<<endl; //复位 a.reset();//全部复位 b.reset(0);//复位第一位 cout<<a<<" "<<b<<endl; //取反 a.flip();//全部取反 b.flip(0);//取反第一位 cout<<a<<" "<<b<<endl; //检查是否为1 cout<<b.test(0)<<endl; //数1的位数 cout<<b.count()<<endl; //输出总长度 cout<<b.size()<<endl; //是否存在1的位 cout<<b.any()<<endl; //转为字符串 cout<<b.to_string()<<endl; //转为无符号整数 cout<<b.to_ulong()<<endl; return 0; }