C++中的位運算符的優先級如下,從高到低排列:
1. `~`(按位取反)
2. `<<`(左移)
3. `>>`(右移)
4. `&`(按位與)
5. `^`(按位異或)
6. `|`(按位或)
請注意,位運算符的優先級低于算術運算符、比較運算符和邏輯運算符。當優先級相同時,運算符從左到右進行計算。
以下是一個簡單的示例,展示了如何使用位運算符:
```cpp
#include
int main() {
int a = 5; // 二進制表示:0101
int b = 3; // 二進制表示:0011
int result1 = a & b; // 按位與:0001,即十進制的1
int result2 = a | b; // 按位或:0111,即十進制的7
int result3 = a ^ b; // 按位異或:0110,即十進制的6
int result4 = ~a; // 按位取反:1010,即十進制的-6(有符號整數)
int result5 = a << 2; // 左移兩位:10100,即十進制的20
int result6 = a >> 1; // 右移一位:0010,即十進制的2
std::cout << "Result1: "<< result1<< std::endl;
std::cout << "Result2: "<< result2<< std::endl;
std::cout << "Result3: "<< result3<< std::endl;
std::cout << "Result4: "<< result4<< std::endl;
std::cout << "Result5: "<< result5<< std::endl;
std::cout << "Result6: "<< result6<< std::endl;
return 0;
}
```
在這個示例中,我們使用了按位與、按位或、按位異或、按位取反、左移和右移運算符。