简单谈谈C++ 头文件系列之(bitset)
2017-02-12 12:02
1166 查看
简介
该头文件有关位集,实际上是vector
位
位本质上对应bool的概念,只有0或1,true或false两种对立的值。 但很可惜,字节才是机器上最小的存储单元,所以bool基本上是由一个字节大小。
bitset是出于高效的空间利用为目的才出现的。
位操作
operator [] : 通过下标访问bit。
count : 计数位值为1的位个数。
size : 返回位的大小,即有多少个位。
test : 测试下标指向的位值是否为1。
any : 判断是否有任何一个位值为1。
none : 判断是否没有任何一个位值为1.
all : 判断是否所有位值为1.
set : 设置某一个位值为1.
reset : 重置某一个位值为0.
flip : 翻转某一个位值,即0变1,1变0.
转换函数
to_string : 转换成字符串。
to_ulong : 转换成unsigned long。
to_ullong : 转换成unsigned long long。
位集操作
在这里,bitset可以看成以01位代表的整数。 对于整数,我们又很多操作可以执行:或、并、亦或、左移等等。 头文件重载了这些操作符,方便我们对位集进行运算:
&、&=
|、|=
^、^=
<<、<<=
>>、>>=
~
==
!=
reference type
因为C++最小的内置类型大小是1个字节,而bit概念上只需要1个bit,所以,与vector
您可能感兴趣的文章:
- C++ STL入门教程(7) multimap、multiset的使用
- C++标准库bitset类型的简单使用方法介绍
- c++ STL set_difference set_intersection set_union 操作
- c++利用stl set_difference对车辆进出区域进行判定
- C++中关于set删除的一些坑
- C++ 头文件系列(set)详解
- C++中memset函数用法详解
- C++访问Redis的mset 二进制数据接口封装方案
- C++线程优先级SetThreadPriority的使用实例
- 浅析C++中memset,memcpy,strcpy的区别
- C++ set的使用方法详解
相关文章推荐
- 简单谈谈C++ 头文件系列之(iosfwd)
- 简单谈谈C++ 头文件系列之(algorithm)
- C++ 头文件系列 (bitset)
- 用C++运行批处理文件或是批处理命令的简单方式
- 用C++进行简单的文件I/O操作
- 使用C++对文件加密的简单例子
- 初学者看过来:简单谈谈 C/C++ 递归的思想,实现,以及和循环的关系。
- 用C++实现简单的文件I/O操作
- 用C++运行批处理文件或是批处理命令的简单方式
- 一个简单的文件查找C++封装类
- socket简单实现ftp的文件传送(C++V2.0版,解决数据丢失问题)
- 用C++实现简单的文件I/O操作
- 简单谈谈 C/C++ 递归的思想,实现,以及和循环的关系。
- (DirectX系列03)DirectShow简单媒体文件播放
- C++ 简单的文件加密和解密 实例
- C++简单文件操作实例
- C++简单概念系列(内联函数)
- 用C++实现简单的文件I/O操作(ifstream,ofstream)
- C/C++简单的文件操作
- 用C++实现简单的文件I/O操作