Bitset

来源:互联网 发布:php json转数组为null 编辑:程序博客网 时间:2024/06/06 04:28

来一发bitset介绍,主要是程序输出看一下结果
bit.set()全初始化成1
bit.reset()全初始化成0
bit.test()测试是否存在

#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<bitset>using namespace std;const int N=100;int main(){//---------------------------------------------------------    /*in:4 5          1 2          1 3          1 4          2 3          3 4*/    bitset<N>bit[N];    int n,m;    scanf("%d%d",&n,&m);    for(int i=1;i<=m;i++)    {        int u,v;        scanf("%d%d",&u,&v);        bit[u].set(v);    }    for(int j=1;j<=n;j++)    {        for(int i=1;i<=n;i++)        {            cout<<bit[i].test(j)<<" ";        }        cout<<endl;    }    /*    out:        0 0 0 0        1 0 0 0        1 1 0 0        1 0 1 0    *///----------------------------------------------------------    bitset<4>s;    s.set();    cout<<s<<endl;    //out:1111//-----------------------------------------------------------    s.reset();    cout<<s<<endl;    //out:0000   //-----------------------------------------------------------    s.set(2);    cout<<s<<endl;     //out:0100    s.set(0);    cout<<s<<endl;    //out:0101//------------------------------------------------------------    s.count();    cout<<s.count()<<endl;    //out:2//------------------------------------------------------------    bitset<32>str(0x3ffff);    cout<<str<<endl;    for(int i=0;i<str.size();i++)    cout<<str[i];    cout<<endl;    /*out:00000000000000111111111111111111          11111111111111111100000000000000*///-------------------------------------------------------------    string ss("10101");    bitset<8>st(ss);    cout<<st<<endl;     for(int i=0;i<st.size();i++)    cout<<st[i];    cout<<endl;    /*out:00010101          10101000*/}