c 標準庫bitset型別

2021-08-21 05:58:25 字數 877 閱讀 8766

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億個整...