bitset學習小記

2021-06-23 09:47:38 字數 1440 閱讀 7948

cplusplus官網的資料:

bitset/

bitset作為stl中乙個位集,主要在涉及二進位制位儲存,操作時比較方便。

定義及基本操作:

bitsetb,定義乙個包含n個二進位制位的變數。

可以通過unsigned 值或string型別來初始化,如:

bitset<32> b(0xffff),表示將前16位初始化為1,後16位初始化為0;

string str = "1111111111111111";

bitset<32> b(str),作用同上,注意利用字串初始化時,首先從字串右端讀入,並將其作為低位的值,

string str = "011";

bitset<32> b(str), 最低位開始依次為1, 1, 0,且長度不足時高位補0, 超過b的長度時,將字串左端丟棄。

還可以指定字串開始賦值的位置,和賦值長度。

string str = "10111";

bitset<5> b(str, 2, 3);

將字串左端開始的第2個字元(最左端為第0個), 長度為3的字串賦值給b,不足時,這裡b的高位補0了。

b此時相當字串」00111「。

常用轉化函式

to_ulong ();返回二進位制串表示的unsigned long值;

to_string();返回string值。

應當特別注意的是,將b輸出時,不論是以相應整數,還是相應字串輸出時,低位都應該在輸出位置的右端,

string str = "011";

bitset<5> b(str);

cout常用成員函式:

any()是否存在位置為1的二進位制位

none()不存在置為1的二進位制位?

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

size()總的二進位制位的個數

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

test(pos)pos處的二進位制位是否為1

set()所有位都置1

set(pos)pos處的二進位制置1

reset()所有二進位制置0

reset(pos)pos處的二進位制位置0

flip()所有位置反

flip(pos)pos位置反

to_ulong()返回乙個 unsigned long 值

os《好了終於弄明白了。

C Primer學習札記 標準bitset庫

一 標準庫bitset型別 標準庫提供bitset類來進行位集的處理,同其他的一些標準庫一樣,要使用bitset類就必須包含系相關標頭檔案 includeusing std bitset 二 bitset物件的定義和初始化 bitsetb b有n位,每位都為0 bitsetb u b是乙個unsig...

iBatis學習小記

1.注意sqlmap.config檔案的sqlmap資源的順序 由於ibatis在初始化時,會將所有的資源檔案,按配置的順序讀入,如果資源的順序錯了,會引發以下異常。this sql map does not contain an resultmap named codenode.codetype ...

STL學習小記

2009 05 09 17 04 387人閱讀收藏 舉報stl standard template libarary 主要提供了三類工具 容器container,迭代器iterato,演算法algorithm.stl提供了兩類容器 序列容器 以線性序列方式組織物件 關聯容器 用關聯的鍵把物件組織在一...