【Biset的常用函数】

#include<bits/stdc++.h>
using namespace std;

const int maxn = 10;

bitset<maxn>B;
int main(){
    cout<<B<<endl; // 所有位依次输出
    int pos =1;
    cout<<B.size()<<endl;             // 返回容器大小
    B.set(pos);   cout<<B<<endl;      // 将pos位置为1
    B.set();      cout<<B<<endl;      // 将所有位置都置为1 .
    cout<<B.count()<<endl  ;          // 容器中有几个1
    cout<<B[1]<<B[0]<<endl;           // 可以用下标直接访问 [0,n-1].
    cout<<B.any()<<endl;              // 所有位置中 是否有1的存在
    B.reset();     cout<<B<<endl;     // 所有位置都变为0
    B.reset(pos) ; cout<<B<<endl;     // 将pos位置为0
    B.flip();      cout<<B<<endl;     //翻转容器中的所有位
    B.flip(pos);    cout<<B<<endl;     //翻转pos位

    int x=9;
    bitset<3> bs(x);  cout<<bs<<endl;  // 可以直接将整数传入,自动变为2进制数,但是如果容器不够存会自动截断整数的前部
    string ss="1010111000000";
    bitset<10>c(ss); cout<<c<<endl;    //可以直接传入string 类型,但是如果容器不够,会自动截断string的后部分

    bitset<5>a(string("1010"));
    bitset<5>b(string("0011"));
    cout<<(a<<1)<<endl;       // 支持 移位 ,左移右移
    cout<<(a|b)<<endl;        //  支持 | ^ &  注意这里如果两容器的大小不一样是会报错

return 0;
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值