一、bitset是什么

bitset是c++中的一个类库,来管理一系列bit位,及二进制串。类似于数组,但每个元素只能是0或1且仅用1bit的空间
包含于头文件#include < bitset >;中

二、使用方法

1、定义申明:
1.bitset<4> a; //申请一个名为a长度为4的bitset,默认每位为0
2.bitset<8> b(12); //长度为8,将12二进制保存在b中,前面位补0
3.string s = "10010";bitset<10> c(s);  //长度为10,将s二进制保存在c中,前面位补0cout << a << endl; //0000
cout << b << endl; //00001100
cout << c << endl; //0000010010

注:

  • 用字符串构造时,字符串只能包含0、1
  • 在进行有参构造时,若参数的二进制表示比bitset的size小,则在前面用0补充(如上);若比bitsize大,参数为整数时取后面部分;参数为字符串时取前面部分
  • 访问bitset时可用[ ]访问它的每一位,如a[0]、b[3];0为其最低位
2、相关使用函数
bitset<8> s("10011011");s.count();   //5 返回s中1的个数,s中有5个
s.size();   //8 返回s的位数,s为8位
s.test(0);  //true 检查下标为0的元素(最低位)是0还是1,0返回flase,1返回true
s.any();    //true 检查s中是否有1
s.none();   //flase 检查s中是否没有1
s.all();    //flase 检查s中是否全为1s.flip();  //01100100 不传参则将s的每一位取反
s.flip(2);  //10011111 传参则将s的下标为2处取反
s.set();    //11111111 不传参则将s的每一位 置1
s.set(3);   //10011011 传一个参数将s的下标为3的位 置1
s.set(3,0); //10010011 传两个参数将s的下标为3的位 置0(第二个参数)
s.reset();  //00000000 不传参则将s的每一位 置0
s.reset(3); //10010011 传参则将s的下标为3的位 置0

转换函数:

bitset<8> t("10011011");string s = t.to_string();   //将t转换成string型
unsigned long a = t.to_ulong();    //将t转换成unsigned long型
unsigned long long b = t.to_ullong();  //将t转换成unsigned long long型

c++中bitset的用法总结相关推荐

  1. STL中bitset的用法的整理

    构造函数 bitset<n> b;  b有n位,每位都为0.参数n可以为一个表达式. 如bitset<5> b0;则"b0"为"00000&quo ...

  2. 位运算 进制转化 STL中bitset用法

    2017-08-17 16:27:29 writer:pprp /* 题目名称:输入十进制以二进制显示 程序说明:同上 作者:pprp 备注:无 日期:2017/8/17 */ #include &l ...

  3. mysql中change用法,mysql 中alter的用法以及一些步骤

    mysql 中alter的用法以及一些方法 在用到alter的时间,查到了这个文章,就copy下来了,详细进入下面链接: MySQL之alter语句用法总结 1:删除列 ALTER TABLE [表名 ...

  4. mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法

    Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...

  5. 【C++】C/C++ 中 static 的用法全局变量与局部变量

    C/C++ 中 static 的用法全局变量与局部变量 目录 1. 什么是static? 1.1 static 的引入 1.2 静态数据的存储 2. 在 C/C++ 中static的作用 2.1 总的 ...

  6. php foreach嵌套foreach,php中foreach怎么嵌套foreach PHP中foreach函数用法?

    foreach的使用方法小编不是很明确,分享达人指教一下.foreach (array_expressforeach($array as $key) { if(xxxx) { break; //bre ...

  7. python中str的index什么意思_python中index的用法是什么

    index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如:>>> t=tuple('Allen') >>> t ('A', 'l', ...

  8. php foreach是什么,php中foreach的用法是什么

    php中foreach的用法是:[foreach ($array as $value) {要执行代码;}],每进行一次循环,当前数组元素的值就会被赋值给$value变量,在进行下一次循环时,将得到数组 ...

  9. java中的基本用法

    java中的基本用法 关键字:专门用途的字符串 所有java关键字都是小写英文 标识符 java常量 java变量 ■ 作用域:起作用的区域■ 使用前必须先声明,在赋值.使用变量名访问这块区域 jav ...

最新文章

  1. 让 VAGRANT 启动并运行起来
  2. Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory
  3. 写个自己的Xcode4插件(二)
  4. 攻防世界Reverse第七题simple-unpack
  5. 05-xpath爬虫数据解析
  6. mysql 慢查询日志的作用_MySQL慢查询日志的作用和开启
  7. 阿里云云效何勉:云原生是“精益实践”的最佳助力
  8. 数据结构员工通讯录管理系统 C语言,数据结构课程设计报告单位员工通讯录管理系统.doc...
  9. 一个防御SQL注入攻击需要注意的问题
  10. [轉]PHP命名空间规则解析及高级功能
  11. GoF设计模式——单例模式(C++实现)
  12. 在虚拟机centos7中使用docker安装nginx后,本地浏览器无法访问?
  13. 英语听力学习-VOA
  14. 400+条实用C/C++框架、库、工具整理 ,你能想到的都在这里了
  15. 孔雀东南飞用mysql存储_【原】一个真实的故事,现实版的《孔雀东南飞》
  16. sem_wait和sem_post
  17. CTF Crypto简单题学习思路总结(持续更新)
  18. 为什么使用use strict可以节约你的时间
  19. CarSim2017安装教程
  20. How Does Linphone Toggle SIP Contact?

热门文章

  1. 产品周报第29期|创作中心优化:发文助手新增质量分检测功能,博文增加内容历史版本
  2. 一个sql语句的编写 写出不及格门数大于等于2的学生的姓名和平均成绩
  3. 2021互联网人开年平均薪资才15000!
  4. js中json数组 和 字符串 互转
  5. arrayToJson将数组转化为json格式的js代码
  6. Linux学习笔记:
  7. C#毕业设计——基于C#+asp.net+sqlserver的学生成绩管理系统设计与实现(毕业论文+程序源码)——成绩管理系统
  8. java抽象类数组初始化_【Java抽象类 11】
  9. 机器学习入门:准备知识笔记(seaborn及案例)
  10. 硬中断、软中断、中断上半部、中断下半部