1. 程式人生 > 程式設計 >C++ bitset的簡單使用示例

C++ bitset的簡單使用示例

bitset 一般代替 bool 陣列使用,常用於優化空間,因為 bitset 中一個元素只佔 1 bit。

bitset 的大小在定義使就需要確定。如果想要不定長的 bitset,就需要使用 vector。

bitset 的定義:

bitset<16> bt; // 定義大小為16的bitset,每一位都是0
bitset<16> bt(string("11001")); // 定義大小為16的bitset,並用string初始化,注意高位為0,也就是 0000000000011001

bitset 可以直接使用 cin 和 cout 輸入輸出

bitset<16> bt;
cin >> bt;
cout << bt << endl;

bitset 可以像陣列一樣訪問或修改某一位置的元素,注意0表示低位。

bitset<8> bt;
bt[0] = 1; // 00000001

bitset 也可以像一個數一樣進行位運算:與(&)、或(|)、異或(^)、取反(~)、左移(<<)、右移(>>)。

常用函式:

bitset<8> bt;
bt.size(); // 返回大小
bt.count(); // 返回1的個數
bt.set(); // 全部置1
bt.set(pos); // pos位置1
bt.reset(); // 全部置0
bt.reset(pos); // pos位置0
bt.flip(); // 全部取反
bt.flip(pos); // pos位取反

以上就是C++ bitset的簡單使用示例的詳細內容,更多關於C++ bitset的資料請關注我們其它相關文章!