C++標(biāo)準(zhǔn)庫bitset類型的簡單使用方法介紹
std::bitset是STL的一部分,準(zhǔn)確地說,std::bitset是一個模板類,它的模板參數(shù)不是類型,而整形的數(shù)值(這一特性是ISO C++2003的新特性),有了它我們可以像使用數(shù)組一樣使用位。
#include<bister> using std::bitset;
一句話定義:可自定義位數(shù),用作記錄二進制的數(shù)據(jù)類型.
一,定義和初始化
bitset<n> b; //b有n位,每位都為0;
bitset<n> b(u); //b是unsigned long型u的副本
bitset<n> b(s); //b是string對象s中含有n位字符串的副本
bitset<n> b(s, pos, n); //b是s中從pos位置開始的n個位置的副本
bitset<n> b(s,pos); //b從s的pos位置開始取值到s末尾(注取的值從b的右端開始)
注:①n定義的位數(shù)在初始化時按初始值填充,賦值超出的范圍舍去,空余的以零填充.
②bitset從string對象讀入位集時按從右到左的順序.
二,操作
b.any(); //查找b是否存在1?
b.none(); //b中不存在1嗎?
b.count(); //b中1的個數(shù)
b.size(); //b的位數(shù)
b[pos]; //訪問b中pos處的數(shù)值
b.test(pos); //檢測b中pos處是否為1
b.set(); //把b中所有位 置為1
b.set(pos); //把b中pos位置為1
b.reset(); //把b中所有位置為0
b.reset(pos); //把b中pos位置為0
b.flip(); //b中所有二進制位取反
b.flip(pos); //b中在pos處的二進制位取反
b.to_ulong; //返回一個同值得unsigned long值
os << b; //把b中位集輸出
以上所述是小編給大家介紹的C++標(biāo)準(zhǔn)庫bitset類型的簡單使用方法介紹,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!
相關(guān)文章
C++結(jié)合OpenCV實現(xiàn)RRT算法(路徑規(guī)劃算法)
這篇文章主要介紹了C++結(jié)合OpenCV實現(xiàn)RRT算法,RRT算法整體框架主要分為rand、near、new三點的建立和near與new之間的安全性檢查,需要的朋友可以參考下2022-05-05C/C++?Qt?StringListModel?字符串列表映射組件詳解
StringListModel?字符串列表映射組件,該組件用于處理字符串與列表框組件中數(shù)據(jù)的轉(zhuǎn)換,通常該組件會配合ListView組件一起使用,本文給大家介紹了C/C++?Qt?StringListModel?字符串列表映射組件的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧2021-12-12Qt串口通信開發(fā)之QSerialPort模塊詳細使用方法與實例
這篇文章主要介紹了Qt串口通信開發(fā)之QSerialPort模塊詳細使用方法與實例,需要的朋友可以參考下2020-03-03C語言實現(xiàn)十進制轉(zhuǎn)任意進制的代碼詳解
這篇文章主要介紹了C語言實現(xiàn)十進制轉(zhuǎn)任意進制,運用一個數(shù)組,通過數(shù)字每次取任意進制模,存在數(shù)組中, 再通過倒取數(shù)組中的數(shù)值,來實現(xiàn)進制轉(zhuǎn)換,如果遇到十六進制,利用ASCII碼值 數(shù)字字符和大寫字母 相差55的特性來解決,文中有詳細代碼示例,需要的朋友可以參考下2024-05-05C++運行時獲取類型信息的type_info類與bad_typeid異常
這篇文章主要介紹了C++運行時獲取類型信息的type_info類與bad_typeid異常,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2016-01-01