C++ bitset类

C++的bitset类提供了一种方便的方式来操作和访问位。bitset对象由一定数量的位组成,可通过成员函数轻松访问和修改这些位。实例化bitset时,需要指定位的数量,例如`bitset<40> bst`创建了一个包含40位的对象。bitset的成员函数包括访问和操纵位的多种操作,便于在不直接使用位运算的情况下进行位操作。
摘要由CSDN通过智能技术生成

bitset 模板类由若干个位(bit)组成,它提供一些成员函数,使程序员不必通过位运算就能很方便地访问、修改其中的任意一位。bitset 模板类在头文件 中定义如下:

template <size_t N>
class bitset
{
   
    ...
};

size_t 可看作 unsigned int。将 bitset 实例化时,N 必须是一个整型常数。例如:

bitset <40> bst;

则 bst 是一个由 40 个位组成的对象,用 bitset 的成员函数可以方便地访问其中任意一位。bitset 中的位从 0 开始编号,第 0 位是最右边的位。

bitset 有许多成员函数,有些成员函数执行的就是类似于位运算的操作。bitset 成员函数列表如下:

	bitset <N> & operator &= (const bitset <N> & rhs);  //和另一个 bitset 对象进行与操作
	
	bitset <N> & operator |= (const bitset <N> & rhs);  //和另一个 bitset 对象进行或操作
	
	bitset <N> & operator ^= (const bitset <N> & rhs);  //和另一个 bitset 对象进行异或操作
	
	bitset <N> & operator <<= (size_t num);  //左移 num 位
	
	bitset <N> & operator >>= (size_t num);  //右移 num 位
	
	bitset <N> & set();  //将所有位全部设成 1
	
	bitset <N> & set(size_t pos, bool val = true);  //将第 pos 位设为 val
	
	bitset <N> & reset();  //将所有位全部设成0
	
	bitset <N> & reset (size_t pos);  //将第 pos 位设成 0
	
	bit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值