bitset

bitset初始化:
#include<bits/stdc++.h>
using namespace std;
int main(){
    unsigned long long x=0x3f3f3f3f;
    string s="0000011111";
    bitset<5> b1;
    bitset<64> b2(x);
    bitset<20> b3(s);//bitset右边为低位,string右边也是低位。
    bitset<20> b4(s,4,3);//110拷贝进去
    bitset<20> b5(s,5);//string低位五个字符
    return 0;
}

bitset基本函数:

#include<bits/stdc++.h>
using namespace std;
int main(){
    bitset<64>p(1U);
    unsigned long long x;
    string s;
    cout<<p[0]<<endl;//访问
    p.any();//有没有1 ,返回true
    p.all();//所有位为1吗?返回false
    p.none();//全都是1吗,返回false
    p.count();//1的个数
    p.size();//位数
    p.test(1);//第1位是0还是1
    p.set(1);//将‘1’位上的变成1
    p.set(1,0);//将‘1’位上的变成0
    p.reset();//将所有位置为0
    p.reset(1);//将‘1’位上的变成0
    p.flip(0);//翻转
    p.flip();
    p.flip();
    x=p.to_ulong();cout<<x<<endl;//返回一个unsignedlong值,注意溢出
    s=p.to_string();cout<<s<<endl;//返回一个string
    cout<<p;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值