之前做項目的時候,有時候會用到位,也就是將一些數據放在二進制里,然后存在數據庫中或者緩存在服務器上,取出來,然后要判斷某位是不是置0或1,然后再將某位置0或1(比如領多個獎勵的 游戲邏輯),之前有點傻,竟然用 << ,>>這些運算符計算,今天翻起以前好久不看的c++primer 才想起bitset,我已經把她忘了,哎。
比如bitset的一個對象 b,他的很多操作和功能很多,這里羅列項目中常用的一些方法:
b.any() | b中是否存在置為1的二進制位? |
b.none() | b中不存在置為1的二進制位嗎? |
b.count() | b中置為1的二進制位的個數 |
b.size() | b中二進制位的個數 |
b[pos] | 訪問b中在pos處的二進制位 |
b.test(pos) | b中在pos處的二進制位是否為1? |