1     #include<bits/stdc++.h>
 2     using namespace std;
 3     int main(){
 4         //bitset 使用整数初始化bitset
 5
 6 //申请三个bitset(长为10位)
 7         bitset<10> bs[3];
 8
 9                 //初始化第三个bitset(bitset默认所有位为0,可以用数字对其初始化:
10                 //数字的二进制形式与bitset的下标对应,二进制的中的低位对应于bitset下标中的地位,
11                     //例如20的二进制10100,则bitset[0 1 2 3 ...]=0 0 1 0 1 0 0 0...)
12         bs[2]=20;
13 //访问
14         //输出第三个bitset 0位置的布尔值。
15         cout<<"bs[2][0]  :"<<bs[2][0]<<endl;
16 //bitset间的按位与或
17         //输出第三个bitset 的全部位置的值
18         cout<<"bs[2] :"<<bs[2]<<endl;
19
20         cout<<"before |"<<bs[0]<<endl;
21         bs[0]=bs[0]|bs[2];
22         cout<<"after  |"<<bs[0]<<endl;
23
24         cout<<"before &"<<bs[0]<<endl;
25         bs[0]=bs[0]&bs[1];
26         cout<<"after  &"<<bs[0]<<endl;
27
28         cout<<"before ~"<<bs[0]<<endl;
29         bs[0]=~bs[1];
30         cout<<"after  ~"<<bs[0]<<endl;
31
32
33
34     //以下为转载。---------------------------
35
36                 //使用字符串初始化bitset
37                 //注意:使用string初始化时从右向左处理,类似于字符串是书写体,如下初始化的各个位的值将是110,而非011
38                 // string bitval("001100001");
39                 // bitset<15> bs1(bitval);
40                 bitset<15> bs1(123);
41                 //输出各位
42                 cout<<"bs1[0] is "<<bs1[0]<<endl;
43                 cout<<"bs1[1] is "<<bs1[1]<<endl;
44                 cout<<"bs1[2] is "<<bs1[2]<<endl;
45                 //cout输出时也是从右边向左边输出
46                 cout<<bs1<<endl;
47
48
49                 //bitset的方法-----------------
50
51                 //any()方法如果有一位为1,则返回1
52                 cout<<"bs1.any() = "<<bs1.any()<<endl;
53
54                 //none()方法,如果有一个为1none则返回0,如果全为0则返回1
55                 bitset<3> bsNone;
56                 cout<<"bsNone.none() = " <<bsNone.none()<<endl;
57
58                 //count()返回几个位为1
59                 cout<<"bs1.count() = "<<bs1.count()<<endl;
60
61                 //size()返回位数
62                 cout<<"bs1.size() = "<<bs1.size()<<endl;
63
64
65                 //flip()返回按位取反后的bitset
66                 bitset<15> bs1Flip = bs1.flip();
67                 cout<<"bs1Flip = "<<bs1Flip<<endl;
68
69                 //to_ulong 二进制转为十进制数。
70                 unsigned long val = bs1.to_ulong();
71                 cout<<val;
72
73
74         return 0;
75     }

output:
bs[2][0]  :0
bs[2] :0000010100
before |0000000000
after  |0000010100
before &0000010100
after  &0000000000
before ~0000000000
after  ~1111111111
bs1[0] is 1
bs1[1] is 1
bs1[2] is 0
000000001111011
bs1.any() = 1
bsNone.none() = 1
bs1.count() = 6
bs1.size() = 15
bs1Flip = 111111110000100
32644[Finished in 1.2s]

转载于:https://www.cnblogs.com/paulzjt/p/6435545.html

开多个bitset和bitset的基本使用相关推荐

  1. c bitset get_Java BitSet get()方法与示例

    c bitset get BitSet类的get()方法 (BitSet Class get() method) Syntax: 句法: public boolean get(int bit_in); ...

  2. 【floyd】【bitset】洛谷 P1841 [JSOI2007]重要的城市 题解

        bitset玄学完美优化复杂度? 题目描述 参加jsoi冬令营的同学最近发现,由于南航校内修路截断了原来通向计算中心的路,导致去的路程比原先增加了近一公里.而食堂门前施工虽然也截断了原来通向计 ...

  3. STL bitset用法总结

    c++ bitset类用法:http://blog.csdn.net/qll125596718/article/details/6901935 C++ 参考:http://www.cplusplus. ...

  4. [ACNOI2022]Bitset Dog

    题目 题目背景 你知道 "二刺猿色狗" 吗?没错,它就是 比特色狗(bitset dog\text{bitset dog}bitset dog),大名鼎鼎的 Egg Egg Dog ...

  5. c++ bitset类用法

    有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值.位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法.标准库提供了bitset类使得处理位集合更容易一些.要使 ...

  6. bitset的使用方法

    bitset用法 有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值.位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法.标准库提供了bitset类使得处理位集 ...

  7. 扶苏的bitset浅谈

    bitset作为C++一个非常好用的STL,在一些题目中巧妙地使用会产生非常不错的效果.今天扶苏来分享一点bitset的基础语法和应用 本文同步发布于个人其他博客,同时作为P3674题解发布. 本文感 ...

  8. bitset类型, 标准库类型

    C++ primer 17.2 bitset类型, 标准库类型 1 使得位运算更容易实现, 并且能够处理超过最长整型大小的位集合. bitset定义在bitset中 定义和初始化bitset 1 bi ...

  9. Java BitSet使用场景和示例

    一.什么是BitSet? 注:以下内容来自JDK API: BitSet类实现了一个按需增长的位向量.位Set的每一个组件都有一个boolean值.用非负的整数将BitSet的位编入索引.可以对每个编 ...

最新文章

  1. struct和union的大小问题
  2. python实现客户端和服务器端传输图片
  3. Flask 备注一(单元测试,Debugger, Logger)
  4. stm32之端口复用和重映射
  5. MySQL sysdate()函数 不走索引的问题
  6. Angular5.0之 安装指定版本Angular CLI
  7. java math mod_java8 Math新增方法介绍
  8. 亲测VS2010纯静态编译QT4.8.2,实现VS2010编译调试Qt程序
  9. String.Format数字格式化参考
  10. DataDictionaryTool 一款生成数据库字典工具支持mysql和oracle
  11. Unity——JSON
  12. Python第三方库:jieba库与中文分词概述(全面详解)
  13. 利用PS将.jpg文件转换为.pdf文件
  14. mac_ScreenSaver_第1个屏幕保护程序
  15. Linux之用户和组账户管理命令
  16. project-attact of panda virus
  17. Kettle的“增加序列”(自增字段)的使用
  18. “年薪百万”的视频剪辑师?Adobe专家让这一切都成为可能
  19. WebSocket - 一篇文章读懂websocket
  20. 刷脸支付商用之火真正出现燎原的苗头

热门文章

  1. BitmapUtil【缩放bitmap以及将bitmap保存成图片到SD卡中】
  2. webconfig中注册HttpHandler报错:检测到在集成的托管管道模式下不适用的 ASP.NET 设置。...
  3. 关于equals和hashcode方法
  4. JD商家后台管理的细节
  5. UICollectionView实现的图片的多选效果(本人已封装好,简单操作)
  6. android call require api level
  7. Sublime Text 2.0.1 版本 Build 2217 汉化包
  8. B2C电子商务系统研发——商品SKU分析和设计(一)
  9. 页面初始加载的是默认刷新一次(f5)
  10. 深入解析PHP中逗号与点号的区别