C++ bitset的簡(jiǎn)單使用示例
bitset 一般代替 bool 數(shù)組使用,常用于優(yōu)化空間,因?yàn)?bitset 中一個(gè)元素只占 1 bit。
bitset 的大小在定義使就需要確定。如果想要不定長(zhǎng)的 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 可以像數(shù)組一樣訪問或修改某一位置的元素,注意0表示低位。
bitset<8> bt; bt[0] = 1; // 00000001
bitset 也可以像一個(gè)數(shù)一樣進(jìn)行位運(yùn)算:與(&)、或(|)、異或(^)、取反(~)、左移(<<)、右移(>>)。
常用函數(shù):
bitset<8> bt; bt.size(); // 返回大小 bt.count(); // 返回1的個(gè)數(shù) bt.set(); // 全部置1 bt.set(pos); // pos位置1 bt.reset(); // 全部置0 bt.reset(pos); // pos位置0 bt.flip(); // 全部取反 bt.flip(pos); // pos位取反
以上就是C++ bitset的簡(jiǎn)單使用示例的詳細(xì)內(nèi)容,更多關(guān)于C++ bitset的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C++ 多態(tài)性虛函數(shù)和動(dòng)態(tài)綁定學(xué)習(xí)筆記
這篇文章主要為大家介紹了C++ 多態(tài)性虛函數(shù)和動(dòng)態(tài)綁定學(xué)習(xí)筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10CRC校驗(yàn)原理及其C語言實(shí)現(xiàn)詳解
循環(huán)冗余校驗(yàn)(Cyclic?Redundancy?Check,?CRC)是一種根據(jù)網(wǎng)絡(luò)數(shù)據(jù)包或計(jì)算機(jī)文件等數(shù)據(jù)產(chǎn)生簡(jiǎn)短固定位數(shù)校驗(yàn)碼的一種信道編碼技術(shù)。本文主要介紹了CRC校驗(yàn)原理及其C語言實(shí)現(xiàn),感興趣的可以了解一下2023-03-03通過c語言調(diào)用系統(tǒng)curl動(dòng)態(tài)庫的示例詳解
這篇文章中我們將通過一個(gè)簡(jiǎn)單的示例來講解如何在Ubuntu系統(tǒng)中通過C語言調(diào)用動(dòng)態(tài)庫(共享庫)的方法,我們將使用libcurl庫,這是一個(gè)基于客戶端的URL傳輸庫,廣泛用于各種程序和應(yīng)用中以訪問網(wǎng)頁和服務(wù)器數(shù)據(jù),需要的朋友可以參考下2024-03-03C++自定義封裝socket操作業(yè)務(wù)類完整實(shí)例
這篇文章主要介紹了C++自定義封裝socket操作業(yè)務(wù)類,結(jié)合完整實(shí)例形式分析了Linux環(huán)境下C++操作socket的封裝業(yè)務(wù)類,可實(shí)現(xiàn)基本的socket連接、參數(shù)設(shè)置、發(fā)送請(qǐng)求等基本功能,需要的朋友可以參考下2017-08-08