STL使用篇__bitset

Enjoy_process發表於2019-03-05

標頭檔案:<bitset>

 

建構函式:

bitset<4> b1;  //無參構造,長度為4,預設每一位為0 :0000

bitset<8> b2(12);  //長度為8,二進位制儲存,前面用0補充  :00001100

string s = "100101";
bitset<10> b3(s);  //長度為10,前面用0補充  :0000100101
    
char s2[] = "10101";
bitset<13> b4(s2);  //長度為13,前面用0補充  :0000000010101

若引數的二進位制表示比bitsize大,引數為整數時取後面部分,引數為字串或字元陣列時取前面部分

 

成員函式:

成員函式

函式功能

bs.any()

是否存在值為1的二進位制位

bs.none()

是否全部位為0

bs.size()

位長

bs.count()

值為1的個數

bs.test(pos)

測試pos處的二進位制位是否為1

bs.set()

全部位置1

bs.set(pos)

將pos位處的二進位制位設定為1

bs.reset()

全部位置0

bs.reset(pos)

pos位處的二進位制位設定為0

bs.flip()

全部位逐位取反

bs.flip(pos)

pos處的二進位制位取反

bs.to_ulong()

將二進位制轉換為unsigned long輸出

bs.to_string()

將二進位制轉換為字串輸出

~bs

按位取反
效果等效為bs.flip()

os << b

將二進位制位輸出到os流
小值在右,大值在左

位運算的使用:

位運算子&、|、~、<<、>>可用於兩個bitset型別的例項。

相關文章