1. 程式人生 > 其它 >Codeforces Round #738 (Div. 2) 題解

Codeforces Round #738 (Div. 2) 題解

bitset的函式以及賦值方式、性質

全在程式碼中

CODE

#include <bits/stdc++.h>

using namespace std;

bitset<11> bt;

int main() {

    bt[0] = 1;  //把第一位置成1
    bt.set(4);  // 把第四位置成1
    cout << bt << endl;
    bt.flip(); // 所有位取反
    cout << bt << endl;
    bt.reset(); // 全部位重置為0
    cout << bt << endl;
    if(bt.none()) 
        cout << "bt 為空";
    if(bt.any()) 
        cout << "bt 不為空";
    
    cout << bt.test(4) << endl; //返回第四位的值
    cout << bt.count() << endl; //返回1的數量

    bitset<12> bt1(1234); // 把1234轉為二進位制放入bitset
    bitset<1212> bt2("1101000110"); //直接賦值

    bitset<12> btt;
    int n = 15; 
    btt = n; // 把n轉為二進位制放入bitset
    cout << btt.to_ulong() << endl; // 轉為十進位制輸出

    // bitset 運算子只有 == 沒有 > < 
    // bitset 當做一個數字進行 & | ^  << >>  等位運算
    return 0;
}