【Biset的常用函数】

本文详细介绍了C++中bitset类的各种操作方法,包括初始化、位的设置与重置、位翻转、位运算等,并展示了如何使用这些操作来处理二进制数据。通过具体的代码示例,读者可以更好地理解bitset的用法及其在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值