類似於vector後面<>中的資料型別,bitset<>括號中記錄了長度。
#include
#include
#include
using
namespace
std;
int main()
1、用unsigned值初始化
規則:
如果bitset型別長度大於unsigned long值的二進位制位數,則其餘的高階位置為0;
如果bitet型別長度小於unsigned long值的二進位制位數,則只使用unsigned值中的低階位,超過bitet型別長度的高階位將被丟棄。
//例子0xffff在32位機上為 1111 1111 1111 1111 0000 0000 0000 0000
bitset
<16> a(0xffff); //a為16位全為1,超出部分的0丟棄
bitset
<32> b(0xffff);//b的0到15位全是1,剩下16到31是0,bitset位數32與unsigned long 長度相同
bitset
<64> c(0xffff);//bitset為64位大於unsigned long 32, 31到63自動置零
2、用string初始化bitset
規則 從string物件讀入位集的順序是從右向左
string str("1101");
bitset
<32> a(str); //a中順序為1011000..00,超出的位全補零
string s("111111100000111101010111");
bitset
<32> b(s,5,4); //從s[5]開始讀4位,為1100
bitset
<32> c(s,s.size()-4); //讀後四位(從s[s.size()-4]一直讀到結束
bitset
<32> a("10010010");
a.any();//a中是否有1,返回bool變數,有1為true,全為0返回false
a.none();//a中是否沒1,true為全0,false為至少有乙個1
a.count();//返回a中1的個數
a.size();//返回二進位制位數
int k=a[i];//訪問a中i處的位
a.set();//將a全置1;
a.set(i);//將a中第i位置1;
a.reset();//將a全置0;
a.reset(i);//將a中第i位置0;
a.flip();//全位取反
a.flip(i);//i位取反
a.to_ulong();//返回a中二進位制數的unsigned long數
os
#include
#include
#include
#include
using
namespace
std;
int main()
catch (exception err)
後的錯誤操作會丟擲異常
unsigned
long k=a.to_ulong();
}
Java 資料結構 Bitset類
乙個bitset類建立一種特殊型別的陣列來儲存位值。bitset中陣列大小會隨需要增加。這和位向量 vector of bits 比較類似。這是乙個傳統的類.public static void main string args system.out.println initial pattern ...
近容器之bitset類(C )
近容器常見的有4種 c語言式陣列 string bitset valarray。bitset類 使位集合更容易生成和操作。bitset 位集合 是用於表示位標誌的集合。bitset在編譯時是固定長度的。include const int size 1024 int bitnumber 1 bitse...
PHP 自定義日誌記錄功能類
此文作者的日誌是單一日誌,加數學序號擴充套件。我現在用的是日期日誌,應用功能環境不一樣,實現的東西有些不同。對於現在的應用程式來說,日誌的重要性是不言而喻的。很難想象沒有任何日誌記錄功能的應用程式執行在生產環境中。日誌所能提供的功能是多種多樣的,包括記錄程式執行時產生的錯誤資訊 狀態資訊 除錯資訊和...