題目說明#
給你兩個數字 a, b 和一個字串 \(op\) 代表要執行的位元運算符號,請計算並輸出出結果。
解題過程#
首先先宣告兩個整數變數 a, b 和字串 \(op\) 並輸入
int a, b;
string op;
cin >> a >> op >> b;
因為 \(op\) 有 6 種可能(and, or, xor, left-shigt, right-shift),所以這邊要用 if 來判斷
if (op == "and") {
cout << (a & b);
} else if (op == "or") {
cout << (a | b);
} else if (op == "xor") {
cout << (a ^ b);
} else if (op == "left-shift") {
cout << (a << b);
} else if (op == "right-shift") {
cout << (a >> b);
}
這樣程式就完成了!
完整的程式碼如下
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
string op;
cin >> a >> op >> b;
if (op == "and") {
cout << (a & b);
} else if (op == "or") {
cout << (a | b);
} else if (op == "xor") {
cout << (a ^ b);
} else if (op == "left-shift") {
cout << (a << b);
} else if (op == "right-shift") {
cout << (a >> b);
}
return 0;
}
