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ù)組一樣訪問(wèn)或修改某一位置的元素,注意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/C++ 運(yùn)用Npcap發(fā)送UDP數(shù)據(jù)包的完美過(guò)程
UDP 是一種無(wú)連接、輕量級(jí)的傳輸層協(xié)議,與 TCP 相比,它不提供可靠性、流控制和錯(cuò)誤恢復(fù)機(jī)制,但卻更加簡(jiǎn)單且具有較低的開(kāi)銷,這篇文章主要介紹了C/C++ 運(yùn)用Npcap發(fā)送UDP數(shù)據(jù)包,需要的朋友可以參考下2023-11-11
C++算法設(shè)計(jì)之馬踏棋盤(pán)的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了C++算法設(shè)計(jì)之馬踏棋盤(pán)的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
C語(yǔ)言大廠面試技巧及strcpy()函數(shù)示例詳解
這篇文章主要為大家介紹了C語(yǔ)言面試技巧,以strcpy()函數(shù)為示例進(jìn)行分析詳解,有需要沖刺大廠的朋友們可以借鑒參考下,希望能夠有所幫助2021-11-11
C語(yǔ)言對(duì)棧的實(shí)現(xiàn)基本操作
棧只允許在一端進(jìn)行插入或刪除操作的線性表。首先棧是一種線性表,但是限定這種線性表只能在某一端進(jìn)行插入和刪除操作,這篇文章主要介紹了C語(yǔ)言對(duì)棧的實(shí)現(xiàn)基本操作.2016-10-10
C++讀取訪問(wèn)權(quán)限沖突引發(fā)異常問(wèn)題的原因分析
C語(yǔ)言是一門(mén)通用計(jì)算機(jī)編程語(yǔ)言,廣泛應(yīng)用于底層開(kāi)發(fā),最近在用C++寫(xiě)代碼時(shí)經(jīng)常會(huì)遇到“引發(fā)了異常: 讀取訪問(wèn)權(quán)限沖突,所以這篇文章主要給大家介紹了關(guān)于C++讀取訪問(wèn)權(quán)限沖突引發(fā)異常問(wèn)題的相關(guān)資料,需要的朋友可以參考下2021-07-07

