Bitset

来一发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*/
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值