C++ 頭文件系列 (bitset)。本站提示廣大學習愛好者:(C++ 頭文件系列 (bitset))文章只能為提供參考,不一定能成為您想要的結果。以下是C++ 頭文件系列 (bitset)正文
簡介
該頭文件有關位集,實踐上是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