STL bitset

    (转)  https://www.cnblogs.com/RabbitHu/p/bitset.html

 

 

如果遇见两个超级大数(大数A和大数B)进行位运算。

 

      例如:A^B     (A,B的取值均  大于0且小于2的1000次方)

 

 

如果用数组去模拟,显然过于繁琐,这里直接套用STL中的  bitset 

 

 

1.声明

1 #include<bitset>  //包含的头文件 
2 bitset<15>a;//声明1个二进制长度为15的bitset 

 

2.赋值

1     bitset<15>a=40; 
2     cout<<a<<endl;  //输出结果000000000101000
3     bitset<15>b=0x11;
4     cout<<b<<endl;  //输出结果000000000010001
5     bitset<15>c(std::string("101010"));
6     cout<<c<<endl;    //输出结果000000000101010

 3.运算

1     bitset<5>a=2; 
2 
3     cout<<(a<<2)<<endl; 
4     cout<<(a&=6)<<endl;
5     //左移,右移,或,且,异或等运算 

 

posted @ 2019-10-12 19:09  生活待我如初恋  阅读(113)  评论(0编辑  收藏  举报