C++中的位运算符允许你直接操作二进制位,这对于优化代码和解决特定问题非常有用
int num = 5; // 二进制表示为 0101
bool isEven = (num & 1) == 0; // 检查最低位是否为0(即偶数)
int num = 8; // 二进制表示为 1000
int doubled = num << 1; // 结果为16,二进制表示为 10000
int halved = num >> 1; // 结果为4,二进制表示为 0100
const int READ = 1; // 二进制表示为 0001
const int WRITE = 2; // 二进制表示为 0010
const int EXECUTE = 4; // 二进制表示为 0100
int userPermissions = READ | WRITE; // 用户具有读和写权限,二进制表示为 0110
bool hasExecutePermission = (userPermissions & EXECUTE) == EXECUTE; // 检查用户是否具有执行权限
const int FLAG_A = 1; // 二进制表示为 0001
const int FLAG_B = 2; // 二进制表示为 0010
const int FLAG_C = 4; // 二进制表示为 0100
int status = FLAG_A | FLAG_B; // 状态为3,二进制表示为 0011
bool hasFlagC = (status & FLAG_C) == FLAG_C; // 检查状态中是否包含FLAG_C
总之,C++位运算在实际中的运用非常广泛,可以帮助你编写更高效、更简洁的代码。