C++中提供了一些位运算操作符,位运算符包括对整数的二进制
表示进行位左移
、位右移
、位与
、位或
、位异或
、位取反
等操作。
一、C++位运算操作符
一般的考试题是:先进行位运行,然后再将位运算之后的二进制转换成十进制或其他进制。
二、案例代码演示
#include<iostream>
using namespace std;
int main() {
int a = 5; // 二进制表示为 0101
int b = 3; // 二进制表示为 0011
// 位与运算
int bitAnd = a & b; // 结果为 0001,即 1
cout << "位与运算: " << bitAnd << endl;
// 位或运算
int bitOr = a | b; // 结果为 0111,即 7
cout << "位或运算: " << bitOr << endl;
// 位异或运算
int bitXOR = a ^ b; // 结果为 0110,即 6
cout << "位异或运算: " << bitXOR << endl;
// 位取反运算,记住公式:~n = -(n+1)
int bitNot = ~a; // 结果为 1111 1010,即 -6(因为采用补码表示)
cout << "位取反运算: " << bitNot << endl;
// 左移运算
int bitLeft = a << 2; // 结果为 010100,即 20
cout << "左移运算: " << bitLeft << endl;
// 右移运算
int bitRight = a >> 2; // 结果为 0001,即 1
cout << "移运算: " << bitRight << endl;
return 0;
}
同学们要掌握位运算符的计算方法。