简单谈谈C++ 头文件系列之(bitset)

简单谈谈C++ 头文件系列之(bitset),第1张

概述简介该头文件有关位集,实际上是vector位位本质上对应bool的概念,只有0或1,true或false两种对立的值。但很可惜,字节才是机器上最小的存储单元,所以bool基本上是由一个字节大小。

简介

该头文件有关位集,实际上是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++ 头文件系列之(bitset)全部内容,希望文章能够帮你解决简单谈谈C++ 头文件系列之(bitset)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1245385.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存