bitset类型, 标准库类型
C++ primer 17.2
bitset類型, 標準庫類型
1 使得位運算更容易實現, 并且能夠處理超過最長整型大小的位集合. bitset定義在bitset中
定義和初始化bitset
1 bitset b; b有n位,每一位均為0,從零開始
2 bitsetb(u); b是一個unsigned long long 值u的低n位的拷貝.如果n大于unsigned long long 的大小, 高位置為零
3 bitset b(s,pos,m,zero,one) b是string s從位置pos開始m個字符的拷貝. s只能包含zero和one; 如果包含其他字符, 構造函數會拋出異常. 字符在b中保存為zero和one,pos默認為0,m默認為string::npos(即字符串結束),zero默認為’0’,one默認為’1’;
4 bitset b(cp,pos,m,zero.one) cp指的是c語言風格字符串
bitset 操作
?置位 ,即置為1,復位 置位0
b.any() b中是否存在置位的二進制位
b.all() b的所有位都置位了嗎
b.none() b中不存在置位的二進制位了嗎
b.count() b中置位的位數
b.size() 返回b的位數
b.test(pos) 若pos位置是置位的,返回true,否則返回false
b.set(pos,v) 將pos位置位v,v默認為1
b.set() 將b中所有位置位
b.reset(pos) 將pos為復位
b.reset() 將b中所有位復位
b.flip(pos) 改變pos為的狀態
b.flip() 將b中所有位反轉
b[pos] (類似數組) 方位b中pos為處的位
b.to_ulong() 返回unsigned long 的值
b.to_ulonglong() 若b中位數較大, 則拋出異常
b.to_string(zero,one)返回一個string,表示b中的位模式. zero和one的默認值為0,1 用來表示b中0或1
os<< b 將b中二進制位打印為0或1,打印到流os
is>>b 直接在輸入流中讀取b,遇到第一個不是0或1的數或者文件結尾或已經讀到b.size()停止
轉載于:https://www.cnblogs.com/zzuzxy/p/8542654.html
總結
以上是生活随笔為你收集整理的bitset类型, 标准库类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 珠海社保要交多少钱一个月
- 下一篇: “争及此花檐户下”下一句是什么