STL使用篇__bitset
標頭檔案:<bitset>
建構函式:
bitset<4> b1; //無參構造,長度為4,預設每一位為0 :0000
bitset<8> b2(12); //長度為8,二進位制儲存,前面用0補充 :00001100
string s = "100101";
bitset<10> b3(s); //長度為10,前面用0補充 :0000100101
char s2[] = "10101";
bitset<13> b4(s2); //長度為13,前面用0補充 :0000000010101
若引數的二進位制表示比bitsize大,引數為整數時取後面部分,引數為字串或字元陣列時取前面部分
成員函式:
成員函式 |
函式功能 |
bs.any() |
是否存在值為1的二進位制位 |
bs.none() |
是否全部位為0 |
bs.size() |
位長 |
bs.count() |
值為1的個數 |
bs.test(pos) |
測試pos處的二進位制位是否為1 |
bs.set() |
全部位置1 |
bs.set(pos) |
將pos位處的二進位制位設定為1 |
bs.reset() |
全部位置0 |
bs.reset(pos) |
pos位處的二進位制位設定為0 |
bs.flip() |
全部位逐位取反 |
bs.flip(pos) |
pos處的二進位制位取反 |
bs.to_ulong() |
將二進位制轉換為unsigned long輸出 |
bs.to_string() |
將二進位制轉換為字串輸出 |
~bs |
按位取反 |
os << b |
將二進位制位輸出到os流 |
位運算的使用:
位運算子&、|、~、<<、>>可用於兩個bitset型別的例項。
相關文章
- C++_STL—容器Vector篇C++
- C++_STL—容器List篇C++
- C++_STL—容器Map篇C++
- 進階篇_STL中的容器
- C++ bitsetC++
- C++_STL—演算法Algorithm篇C++演算法Go
- HDU 2051 Bitset
- C++STL第五篇(連結串列List的使用方法)C++
- 偏序 分塊+bitset
- Bitset 亂搞字串匹配字串匹配
- STL的map使用和分析
- Go 每日一庫之 bitsetGo
- bitset 相關最佳化
- Android framework中使用stl庫AndroidFramework
- STL Vector remove()和erase()的使用REM
- STL裡的multimap使用詳解
- VC++中STL的使用 (轉)C++
- 3. 入門並實踐STL——string篇
- 跟我學C++中級篇——STL的學習C++
- C++STL第二篇(vector的原理用法)C++
- go 語言位操作庫 bitsetGo
- STL
- 進階篇_STL中通用演算法處理資料演算法
- C++STL學習第一篇(什麼是STL以及string的各種功能用法)C++
- STL中經常使用資料結構資料結構
- 標準模板庫(STL)使用入門(下)
- 標準模板庫(STL)使用入門(上)
- 乾貨分享|Bitset 應用詳解
- golang 效能優化之 bitset 代替 hashsetGolang優化
- 《STL原始碼剖析》 -- stl_algo.h原始碼Go
- 《STL原始碼剖析》-- stl_algobase.h原始碼Go
- 《STL原始碼剖析》-- stl_hashtable.h原始碼
- 《STL原始碼剖析》-- stl_multimap.h原始碼
- 《STL原始碼剖析》-- stl_map.h原始碼
- 《STL原始碼剖析》-- stl_multiset.h原始碼
- 《STL原始碼剖析》-- stl_set.h原始碼
- 《STL原始碼剖析》-- stl_tree.h原始碼
- 《STL原始碼剖析》-- stl_heap.h原始碼