🐙

ビット演算 Tips

2022/09/19に公開

2の階乗

1 << n で表現できる

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;

    cout << (1 << n) << endl;

}

入力

5

出力

32

n の x番目のビットが 1 かどうか

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, x;
    cin >> n >> x;

    if ((n & (1 << x))) {
        cout << n << " の " << x << " 番目のビットは 1 である" << endl;
    }
    else {
        cout << n << " の " << x << " 番目のビットは 0 である" << endl;
    }
}

入力

7 2

出力

72 番目のビットは 1 である

Discussion