簡介
該頭文件有關(guān)位集,實際上是vector
位
位本質(zhì)上對應(yīng)bool的概念,只有0或1,true或false兩種對立的值。 但很可惜,字節(jié)才是機(jī)器上最小的存儲單元,所以bool基本上是由一個字節(jié)大小。
bitset是出于高效的空間利用為目的才出現(xiàn)的。
位操作
operator [] : 通過下標(biāo)訪問bit。
count : 計數(shù)位值為1的位個數(shù)。
size : 返回位的大小,即有多少個位。
test : 測試下標(biāo)指向的位值是否為1。
any : 判斷是否有任何一個位值為1。
none : 判斷是否沒有任何一個位值為1.
all : 判斷是否所有位值為1.
set : 設(shè)置某一個位值為1.
reset : 重置某一個位值為0.
flip : 翻轉(zhuǎn)某一個位值,即0變1,1變0.
轉(zhuǎn)換函數(shù)
to_string : 轉(zhuǎn)換成字符串。
to_ulong : 轉(zhuǎn)換成unsigned long。
to_ullong : 轉(zhuǎn)換成unsigned long long。
位集操作
在這里,bitset可以看成以01位代表的整數(shù)。 對于整數(shù),我們又很多操作可以執(zhí)行:或、并、亦或、左移等等。 頭文件重載了這些操作符,方便我們對位集進(jìn)行運算:
&、&=
|、|=
^、^=
<<、<<=
>>、>>=
~
==
!=
reference type
因為C++最小的內(nèi)置類型大小是1個字節(jié),而bit概念上只需要1個bit,所以,與vector
新聞熱點
疑難解答