C++学习笔记--标准库类型(vector,iterator,bitset)(三)

标准库bitset类型:用于处理二进制位的有序集,每个位可能包含0、1值。

#include<bitset>

using std::bitset;

bitset对象的定义和初始化:

bitset<n> b;//b有n位,每位都是0

bitset<n> b(u);//b是unsigned long型u的一个副本

bitset<n>b(s);//b是string对象s中含有的位串的副本

bitset<n>b(s,pos,n);//b是s从位置pos开始的n个位的副本

string strval("1100");

bitset<32> bitvec(strval);//bitvec的位模式中第2、3位置为1,其余位置为0,如果string对象的字符个数小于bitset类型的长度,则高阶将置为0。

bitset<16> bitvec(0xffff);//0-15为设定为1;

bitset<32> bitvec(0xffff);//0-15为设定为1,其它位置为0;


bitset对象上的操作:

b.any()//是否存在值为1的二进制位

b.none()//是否不存在1

b.count()//1的个数

b.set()//所有位的值设为1

b.reset();//所有位置为0

b.flip();//所有二进制位逐位取反

b.to_ulong();//将二进制值返回为unsigned long值


unsigned long ulong=bitvec.to_ulong();

cout<<ulong<<endl;

3

cout<<bitvec;

0000000000000011;


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值