bitset位向量用法 c

2021-08-15 05:06:28 字數 1322 閱讀 8371

首先要匯入bitset庫

#include

bitset初始化

舉些例子:

bitset

<16> foo; #16位全為0

輸出:

0000000000000000

bitset

<16> foo(5); #共16位,值為5

輸出:

0000000000000101

int h=1,m=1;

bitset

<10> foo(h<<6|m); #h左移6位再加上m

輸出:

0001000001

還可以是string型別:

string s="01001";

bitset

<10> foo(s);

輸出:

0000001001

bitset操作

foo.any()foo中是否存在置為1的二進位制位?

foo.none()foo中不存在置為1的二進位制位嗎?

foo.count()foo中置為1的二進位制位的個數

foo.size()foo中二進位制位的個數

foo[pos]訪問 foo中在pos處的二進位制位

foo.test(pos)foo中在pos處的二進位制位是否為1?

foo.set()把foo中所有二進位制位都置為1

foo.set(pos)把foo中在pos處的二進位制位置為1

foo.reset()把foo中所有二進位制位都置為0

foo.reset(pos)把foo中在pos處的二進位制位置為0

foo.flip()把foo中所有二進位制位逐位取反

foo.flip(pos)把foo中在pos處的二進位制位取反

foo.to_ulong()用foo中同樣的二進位制位返回乙個unsigned long值

os <把foo中的位集輸出到os流

bitset 用法整理

建構函式 bitsetb b有n位,每位都為0.引數n可以為乙個表示式.如bitset 5 b0 則 b0 為 00000 bitsetb unsigned long u b有n位,並用u賦值 如果u超過n位,則頂端被截除 如 bitset 5 b0 5 則 b0 為 00101 bitsetb s...

bitset用法整理

bitset用法整理 2008 01 17 14 15 建構函式 bitsetb b有n位,每位都為0.引數n可以為乙個表示式.如bitset 5 b0 則 b0 為 00000 bitsetb unsigned long u b有n位,並用u賦值 如果u超過n位,則頂端被截除 如 bitset 5...

bitset 用法整理

建構函式 bitsetb b有n位,每位都為0.引數n可以為乙個表示式.如bitset 5 b0 則 b0 為 00000 bitsetb unsigned long u b有n位,並用u賦值 如果u超過n位,則頂端被截除 如 bitset 5 b0 5 則 b0 為 00101 bitsetb s...