cpp的stl的位标识
我们将使用bitset和vector,用他们表示位和位标识信息
//
// main.cpp
// use_stl_bit
//
// Created by bikang on 16/11/1.
// Copyright (c) 2016年 bikang. All rights reserved.
//
#include <iostream>
#include <string>
#include <vector>
#include <bitset>
using namespace std;
void tbitset();
void tvectorBool();
int main(int argc, const char * argv[]) {
//tbitset();
tvectorBool();
}
void tvectorBool(){
vector<bool> vec1(10);
vector<bool> vec2(10,true);
vector<bool> vec3(vec2);
vec1[0] = true;
vec1[1] = false;
vec1[2] = true;
vec1.push_back(true);
for(size_t i=0;i<vec1.size();++i){
cout << vec1[i];
}
cout << endl;
//取反
vec1.flip();
for(size_t i=0;i<vec1.size();++i){
cout << vec1[i];
}
}
void tbitset(){
cout << "tbitset" ;
//bitset的初始化
bitset<4> fb;
cout << fb <<endl;
bitset<5> fb5(string("10001"));
cout << fb5 <<endl;
bitset<8> fb255(255);
cout << fb255 <<endl;
//常用操作符 输出和输入<< >>
// & | ^ ~ >>= <<= []
cout << fb255.count()<<endl;
//取反
cout << fb255.flip() << endl;
fb5.set(1,1);
cout << fb5 <<endl;
bitset<5> fb6(string("11001"));
cout << (fb5 & fb6) << endl;
}