1.bitset物件的定義及初始化:
eg:bitset<32> a;//a的大小為32位二進位制
bitset<16> b(0xffff);//b的大小位16位,且初值為0xffff(括號中為賦值,可為任何進製,計算機會進行自動的轉化)
string str("1011111000011111000000111000");
bitset<32> f(str,5,4);//從str末尾開始(注意第一位為結束符),第五位開始,保留4位
2.bitset操作:
a.any();//檢查a中是否有1,有的話返回1;沒有返回0
a.none();//檢查a中是否全為0,是的話返回1;不是返回0
a.count();//檢查a中一共有幾個1
a.size();//a的大小為多少
a[x];//對a中的x位進行操作
a.set(x);//將a中的x位置一
a.set();//將a中的所有位置一
a.reset(x);//將a中的x位置0
a.reset();//將a中的所有位置0
a.flip(x);//將a中的所有位翻轉
a.flip();//將a中的所有位翻轉
a.to_ulong();//將a轉換為乙個十進位制數
3.標準庫bitset應用例項---埃拉託斯特尼"篩法"(尋找質數)
int const max_number(100);
bitsetnumbers;//101個0
numbers.set();//101個1
numbers[1]=0;
for(int i(1);i!=max_number;++i)
{if(numbers[i])
{for(int j(i*2);j
標準庫bitset型別
有些程式要處理二進位制位的有序集,每個位可能包含0或1.標準庫提供的bitset類簡化了位集的處理。要使用bitset類必須包含相關的標頭檔案類似於vector,bitset類是乙個模板,而不同的是bitset型別物件的區別在於長度而不是型別,定義bitset時,要在尖括號內給出它的長度值。bits...
標準庫型別bitset型別
標準庫bitset型別 bitset標頭檔案 include bitset的定義 bitset 位數 變數名 bitset的初始化方式 bitsetb b有n位,每位都為0 bitsetb u b是unsigned long u的乙個副本 bitsetb s b是string物件s中含有的位串的副本...
C 標準庫型別 bitset及其應用
bitset 物件用每乙個bit位儲存0或1,可以用來標記存在或者不存在,位置下標和儲存內容組成乙個key value對。用bit標記的好處就是可以節省記憶體空間,特別是應用於海量資料處理中。例如以下幾個問題 1 已知某個檔案內包含一些 號碼,每個號碼為8位數字,統計不同號碼的個數 2 2.5億個整...