#include <iostream> //n 的第i位替换为m的第i位
using namespace std;
int bitManipulation1(int n, int m, int i) {
return ((m>>i)&1) == 1? (n|(1<<i)) : (n&(~(1<<i))); //注意格式
}
int main() {
int n, m, i, t;
cin >> t;
while (t--) {
cin >> n >> m >> i;
cout << bitManipulation1(n, m, i) << endl;
}
return 0;
}
#include <iostream> // n的第i位取反
using namespace std;
int bitManipulation2(int n, int i) {
return (n>>i)&1 ==1? (n&(~(1<<i))) : (n|(1<<i));
}
int main() {
int t, n, i;
cin >> t;
while (t--) {
cin >> n >> i;
cout << bitManipulation2(n, i) << endl;
}
return 0;
}
#include <iostream> //左边i位取反
using namespace std;
int bitManipulation3(int n, int i) {
return ((~0)<<(32-i))^n;
}
int main() {
int t, n, i;
cin >> t;
while (t--) {
cin >> n >> i;
cout << bitManipulation3(n, i) << endl;
}
return 0;
}