&(按位与)
a&b是指a和b按二进制位进行“与”运算。
在C++中,位运算符&表示按位与操作。它将两个操作数的对应位进行比较,只有当两个位都为1时,结果才为1,否则为0。
下面是使用&运算符的一些示例:
int a = 5; // 二进制表示为 0101
int b = 3; // 二进制表示为 0011
int result = a & b; // result的值为 0001,即1
// 二进制按位与操作
1100 & 1010 = 1000
// 使用&运算符可以判断一个数是否是偶数
int num = 8;
if (num & 1) {
// num为奇数
} else {
// num为偶数
}
// 将某些位设置为0
int bitmask = 0b1111; // 二进制表示为 1111
int value = 0b10101010; // 二进制表示为 10101010
value = value & bitmask; // 将value的低四位设置为0,value的值为 10100000
请注意,&运算符不同于逻辑与运算符&&。逻辑与运算符是用于布尔值的,而位运算符&是用于操作整数的位。