温馨提示×

c++位运算符的优先级是什么

c++
小亿
456
2024-06-11 13:42:18
栏目: 编程语言

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;

}

```

在这个示例中,我们使用了按位与、按位或、按位异或、按位取反、左移和右移运算符。

0