(c) 反转第27位的值。
result^=(1<<27) //任意的位值与1作按位异或操作其值为1,而与0作按位异与操作其值不变
二、C++中的bitset容器
1.头文件:
#include <bitset>
2.声明一个容器:
(a)声明一个指定位数的空容器(所有位设为0): bitset<int> bits;
(b)声明一个指定位数并将指定的几个位初始化为相应值的容器: bitset<n> bits(int);
bitdet<int> bits(string&)
总结:bitset模板类中类型参数传递容器的位数,而构造函数参数通过一个int或一个string&值来从右至左初始化容器中的相应值。
3.bitset的基本用法:
|
操作 |
功能 |
用法 |
|
test(pos) |
pos位是否为1? |
a.test(4) |
|
any() |
任意位是否为1? |
a.any() |
|
none() |
是否没有位为1? |
a.none() |
|
count() |
值是1的位的小数 |
count() |
|
size() |
位元素的个数 |
size() |
|
[pos] |
访问pos位 |
a[4] |
|
flip() |
翻转所有位 |
a.flip() |
|
flip(pos) |
翻转pos位 |
a.flip(4) |
|
set() |
将所有位置1 |
a.set() |
|
set(pos) |
将pos位置1 |
a.set(4) |
|
reset() |
将所有位置0 |
a.reset() |
|
reset(pos) |
将pos位置0 |
a.reset(4) |










