🐙
ビット演算 Tips
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
出力
7 の 2 番目のビットは 1 である
Discussion