您好,登錄后才能下訂單哦!
小編給大家分享一下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
以上是“C++中頭文件bitset”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。