bitset用法

一、简介bitset

bitset是STL中一种bool类型的动态数组,可以近似的看作为vector<boo> 类型,头文件为<bitset> 

主要用来二进制与十进制的相互转换

 

二、基本用法

bitset的创建
 
bitset<4> B;//无参构造,长度为4,默认每一位为0//0000

bitset<8> B(12);//长度为8,二进制保存,前面用0补充//00001100
bitset<2> B(12);//12的二进制为1100(长度为4),但B的size=2,只取后面部分即00 

string s="100101";//用字符串构造时,字符串只能包含 '0' 或 '1' 
bitset<10> B(s);//长度为10,前面用0补充//0000100101
bitset<10> B(s,1,4)//s中从下标1开始,长度为4的子串前面用0补充//0000000010 
    
char s2[]="10101";
bitset<13> B(s2);  //长度为13,前面用0补充//0000000010101 

---------------------------------------------------------------------------

其他操作
 
B.any()//b中是否存在置为1的二进制位?

B.none()//b中不存在置为1的二进制位吗?

B.count()//b中置为1的二进制位的个数

B.size()//b中二进制位的个数

B[pos]//访问b中在pos处的二进制位

B.test(pos)//b中在pos处的二进制位是否为1?

B.set()//把b中所有二进制位都置为1

B.set(pos)//把b中在pos处的二进制位置为1

B.reset()//把b中所有二进制位都置为0

B.reset(pos)//把b中在pos处的二进制位置为0

B.flip()//把b中所有二进制位逐位取反

B.flip(pos)//把b中在pos处的二进制位取反

B.to_ulong()//用b中同样的二进制位返回一个unsigned long值

os<<B // 把b中的位集输出到os流

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值