C C 程式設計 標準庫bitset

2021-08-21 17:35:56 字數 3945 閱讀 6449

作用:提供了一種抽象方法來操作位的集合

若在編譯時 bitset 的大小未知,則可使用 std::vector 或 boost::dynamic_bitset

作用:訪問位於位置pos的位

// bitset::operator

#include // std::cout

#include // std::bitset

int main ()

//output:

//foo: 0110

作用:

返回pos位置的元素是否被設定,或者是否為1。返回值為true,或false。

不同於 operator ,它進行邊界檢查,且若pos不對應 bitset 中的合法位置則丟擲 std::out_of_range 。

統計bitset中被設定的bits的個數,也就是bitset中值為1的元素個數。

// bitset::count

#include // std::cout

#include // std::string

#include // std::bitset

int main ()

//output:

//10110011 has 5 ones and 3 zeros.

返回bitset中元素總個數。即通常意義上bitset的大小。示例**如下:

// bitset::size

#include // std::cout

#include // std::bitset

int main ()

//output:

is 8

is 4

進行二進位制與、或、異或及非。

1) 設定位為*thisother的位的對應對上二進位制與的結果。

2) 設定位為*thisother的位的對應對上二進位制或的結果。

3) 設定位為*thisother的位的對應對上二進位制異或的結果。

4) 返回翻轉所有位的*this的臨時副本(二進位製非)。

注意 &= 、 |= 、 和 ^= 僅對擁有相同大小n的 bitset 定義。

#include #include #include int main()

std::cout << dest << '\n';

}

進行二個 bitsetlhsrhs間的二進位制與、或及異或。

1) 返回含lhsrhs的位對應對上的二進位制與結果的bitset

2) 返回含lhsrhs的位對應對上的二進位制或結果的bitset

3) 返回含lhsrhs的位對應對上的二進位制異或結果的bitset

#include #include int main()

進行二進位制左移和二進位制右移。移入零。

從字元流插入或發布 bitset

#include #include #include int main()

//001

//00000101

設定bitset中某乙個元素或者所有元素為1.

#include #include int main()

std::cout << b << '\n';

}// 10101010

將bitset中某乙個元素或者所有元素重置為0

// bitset::reset

#include // std::cout

#include // std::string

#include // std::bitset

int main ()

//output:

//1001

//0000

反轉乙個bitset

// bitset::flip

#include // std::cout

#include // std::string

#include // std::bitset

int main ()

//output:

//0101

//1010

轉換 bitset 的內容為 string

#include #include int main()

將bitset轉換成乙個unsigned_long型別的數

// bitset::to_ulong

#include // std::cout

#include // std::bitset

int main ()

//output:

//1111 as an integer is: 15

#include #include #include int main()

std::hash 對 std::bitset

的模板特化允許使用者獲得 std::bitset

型別的物件的雜湊

標準庫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型別

1.bitset物件的定義及初始化 eg bitset 32 a a的大小為32位二進位制 bitset 16 b 0xffff b的大小位16位,且初值為0xffff 括號中為賦值,可為任何進製,計算機會進行自動的轉化 string str 1011111000011111000000111000...