按位与运算(&)是将两个整数的二进制表示逐位比较,只有当两个对应位都为1时结果位才为1,否则为0的位运算。 它在计算机科学中用于掩码操作、权限检查、位清零等场景。例如,判断一个数是否为偶数可以用 n & 1 如果结果为0则是偶数。按位与运算具有交换律、结合律等性质,并且与逻辑与(&&)不同,它是对每一位独立操作。

【常见问题】
问题1:按位与运算在编程中如何应用?
回答1:按位与运算常用于掩码操作,例如提取一个整数的特定位,或者将某些位清零。例如,x & 0xFF 可以取x的低8位。
问题2:按位与运算和逻辑与运算有什么区别?
回答2:按位与运算(&)是对二进制位逐位操作,返回整数;逻辑与运算(&&)是对布尔值操作,返回布尔值。按位与运算常用于位掩码,而逻辑与用于条件判断。
问题3:如何用按位与运算判断一个数的奇偶性?
回答3:使用 n & 1,如果结果为0则为偶数,结果为1则为奇数,因为最低位为1表示奇数。
问题4:按位与运算有哪些实际案例?
回答4:例如在网络编程中,IP地址与子网掩码进行按位与运算得到网络地址;在图形处理中,颜色值进行按位与运算实现颜色过滤等。


