c++中bitset的使用

c++中bitset的使用

在对于数据量很大的情况下,使用bitset是个不错的选择。下面我给出一些平时不大能想起来的处理bitset 的方法。

1. bitset 的构造方法

  • 使用默认构造器,每位填充0。
void test10(){
	bitset<5> bs1;
	cout << bs1<<"\n";//默认构造器,直接输出5位0
} 
  • 使用一个整数作为参数。【在构造的时候,会将这个整数转换成相应的二进制数,然后对bitset进行填充】
void test10(){
	bitset<5> bs1(5);
	cout << bs1<<"\n";//将数值转换成二进制,不够的高位补0  => 输出00101
} 
  • 使用一个0/1字符串对bitset进行填充。
void test10(){
	bitset<5> bs1("1111");
	cout << bs1<<"\n";//如果填充的字符串不够位数,则在其前补0   -> 输出01111 
} 

2. 常用方法

  • 1.可以对两个bitset进行与操作,如下代码所示
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<bitset>

using namespace std;

int main(){
 bitset<5> bs2(8);
 bitset<5> bs3(9);

 cout << "bs2="<< bs2<<endl;
 cout << "bs3="<<bs3<<endl;
 
 cout << "bs2 & bs3 = " << (bs2 & bs3)<<endl;
}

执行结果如下:

bs2=01000
bs3=01001
bs2 & bs3 = 01000
发布了954 篇原创文章 · 获赞 307 · 访问量 112万+

猜你喜欢

转载自blog.csdn.net/liu16659/article/details/103840907