簡單談談C++ 頭文件系列之(bitset)
簡介
該頭文件有關位集,實際上是vector
位
位本質上對應bool的概念,只有0或1,true或false兩種對立的值。 但很可惜,字節(jié)才是機器上最小的存儲單元,所以bool基本上是由一個字節(jié)大小。
bitset是出于高效的空間利用為目的才出現(xiàn)的。
位操作
operator [] : 通過下標訪問bit。
count : 計數(shù)位值為1的位個數(shù)。
size : 返回位的大小,即有多少個位。
test : 測試下標指向的位值是否為1。
any : 判斷是否有任何一個位值為1。
none : 判斷是否沒有任何一個位值為1.
all : 判斷是否所有位值為1.
set : 設置某一個位值為1.
reset : 重置某一個位值為0.
flip : 翻轉某一個位值,即0變1,1變0.
轉換函數(shù)
to_string : 轉換成字符串。
to_ulong : 轉換成unsigned long。
to_ullong : 轉換成unsigned long long。
位集操作
在這里,bitset可以看成以01位代表的整數(shù)。 對于整數(shù),我們又很多操作可以執(zhí)行:或、并、亦或、左移等等。 頭文件重載了這些操作符,方便我們對位集進行運算:
&、&=
|、|=
^、^=
<<、<<=
>>、>>=
~
==
!=
reference type
因為C++最小的內置類型大小是1個字節(jié),而bit概念上只需要1個bit,所以,與vector
相關文章
C++中opencv4.1.0環(huán)境配置的詳細過程
這篇文章主要介紹了C++中opencv4.1.0環(huán)境配置的詳細過程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10C++實現(xiàn)LeetCode(94.二叉樹的中序遍歷)
這篇文章主要介紹了C++實現(xiàn)LeetCode(94.二叉樹的中序遍歷),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-07-07VisualStudio Community2019在安裝的過程中無法進入安裝界面的解決方法
這篇文章主要介紹了VisualStudio Community2019在安裝的過程中無法進入安裝界面的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03