首页 > 编程语言 > 详细

C++ bitset容器用法简单介绍

时间:2020-07-14 09:53:21      阅读:60      评论:0      收藏:0      [点我收藏+]

C++类库 <bitset>

引用时声明

#include <bitset>

运用此容器可以方便的对二进制数进行位运算

声明 bitset 对象

可以如下声明一个该类型变量:

bitsetvarm (M)

其中varm为变量名。

N表示该类型二进制位数。如 N = 1,那么a = 0 或 1 ; N = 2,那么a = 01 / 10 / 11 / 00

M表示变量varm的初始值,M为十进制数。

M可以缺省,此时默认M = 0

如声明 a = 11\(_{(2)}\)

bitset<2> a(3);

实际应用

1. 置位

如果需要声明一个变量,将其第27位置1,常规的做法是使用 |=

// option1:
int a = 0;
a |= 1 << 27;

下面用bitset将一个数的27位置1

// option2:
bitset<30> a(0);
a[27] = 1;

也可以用 set(pos) 函数

// option3:
bitset<30> a(0);
a.set(27);

2.复位

运用 reset(pos)函数,也可以用[ ],类似置位

3.检验是否有位为1

a.any()
// a若每一位都为0,返回false;否则返回true

4.检验是否每一位都为0

a.none()
// a若每一位都为0,返true;否则返回false

5.计数

a.count()
// 统计a为1的位数,返回位数

6.翻转

a.flip(`pos`) // 翻转第pos位
a[`pos`].flip() // 翻转第pos位
a.flip() // 翻转每一位

C++ bitset容器用法简单介绍

原文:https://www.cnblogs.com/popodynasty/p/13297318.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!