C++ bitset的用法
bitset<8> b3(bit_string); //[0 0 1 1 0 0 1 0]
?
函數: bitset<N>& set();? 設置所有位為1bitset<N>& set(size_t pos,bool value=true);? 設置某個位置的值為1
bitset<N>& reset();? 設置所有位為0bitset<N>& reset(size_t pos,bool value=true);? 設置某個位置的值為0
bitset<N>& flip();? 翻轉所有位,1變0,0變1bitset<N>& flip(size_t pos);? 翻轉某一位
?
bool test( size_t pos ) cosnt;? 如果pos位置值為1,返回true,否則false
examp:求一個二進制的最低位(最右邊)的 1 在哪個位置
#include <iostream> #include <bitset>int main() {std::bitset<10> b1("1111010000");size_t idx = 0;while (idx < b1.size() && !b1.test(idx)) {++idx;}if (idx < b1.size()) {std::cout << "lowest set bit at index " << idx << '\n';} else {std::cout << "no set bits\n";} } View Code?
bool all() const;? 如果所有位的值都為1,返回true,否則false
bool any() const;? 如果有一位值為1,返回true,否則false
bool none() const;? 如果所有位值都不為1,返回true,否則false
?
size_t count() const;? 返回二進制中1的個數
size_t size() const;? 返回二進制的位數
?
to_string(CharT zero = CharT('0'), CharT one = CharT('1')) const;
用法示例:
#include <iostream> #include <bitset> int main() {std::bitset<8> b(42);std::cout << b.to_string() << '\n'<< b.to_string('*') << '\n'<< b.to_string('O', 'X') << '\n'; }/* Output: 00101010 **1*1*1* OOXOXOXO */ View Code?
?
?
轉載于:https://www.cnblogs.com/54zyq/p/3335671.html
總結
以上是生活随笔為你收集整理的C++ bitset的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌搜索和谷歌站内搜索
- 下一篇: SQL server 2012 如何取上