參考:
模板:
template class bitset;
n指定了容器大小, 因為bitset是大小固定的容器。
建構函式:
預設建構函式用0填充,在使用引數構造時沒有被初始化到的位也用0填充。
bitset採用小端模式, 構造的時候從低位開始構造, 輸出的時候從高位開始輸出
(1)
bitset (unsigned long val);// 直接使用整數的二進位制表示
bitset<8> foo(0x0f);
rep(i, 0, 8-1)
cout << i << ": " << foo[i] << endl;
cout << "foo: " << foo << endl;
(2)
bitset (str) // 用字串構造, 最後乙個字元是最低位, 第乙個字元是最高位
bitset (str, pos) // 指定從某個位置開始, 注意是 1 - n, 不是0 - n-1
注意:字串用來初始化的時候是從後到前。
bitset<8> bar("00001111");
rep(i, 0, 8-1)
cout << i << ": " << bar[i] << endl;
cout << "bar: " << bar << endl;
使用:operator 獲取第n個bit
count 返回1的個數
size 返回集合大小
test 測試某一位是否是1
set 將乙個bit設為1
reset 將乙個bit設為0
flip 翻轉該bit的值
型別轉換
to_string
to_ulong
to_ullong
c++中沒有基本型別來儲存乙個bit, 但是可以用 bool 或者 bitset中定義的reference型別來儲存 操作符獲取的bit。
當只獲取值時(const qualified), 用bool就行了。
想要修改,則使用reference型別
bitset<8> foo(0x0f); // 00001111
foo[2]=f[7] // 00001011
bitset<8>::reference bit = foo[0];
bit = 0; // 00001010
cout << "foo: " << foo << endl;
STL 介紹 用法
一.標準c 庫字串類std string的用法 include std string s1 std string s3 s2 std string s2 this is a string begin 得到指向字串開頭的iterator end 得到指向字串結尾的iterator rbegin 得到指...
STL中map的用法簡單介紹
一 map的插入,有三種方法 mapmapstudent 1 mapstudent.insert map value type keys,value 2 mapstudent.insert pair keys,value 3 mapstudent 1 value 1 map value type k...
STL容器用法與介紹之vector
a vector是乙個封裝了動態大小陣列的順序容器,並支援反轉 b vector是在堆上分配記憶體,並在記憶體中具有連續的儲存空間,它提供了自動記憶體管理功能,隨著元素的增加或刪除,記憶體會同步進行增大或縮小 c 訪問vector中的元素可以通過元素下標實現隨機訪問,也可以通過迭代器實現順序訪問 d...