
考官何老师为您分享以下优质知识
二进制逐位相与(按位与运算)是逻辑运算中的一种基础操作,其计算规则如下:
一、基本运算规则
逐位相与时,两个二进制数的对应位进行逻辑与运算,规则为:
- 全1得1:
仅当两个对应位均为1时,结果为1(如1&1=1);
- 有0得0:只要有一个对应位为0,结果即为0(如1&0=0)。
以二进制数 `1100` 和 `1010` 为例:
```
1100
1010
1000
```
每一位均按上述规则计算,最终结果为 `1000`(十进制4)。
二、应用场景
编程语言
在C/C++、Java等语言中,`&` 符号用于表示按位与运算。例如:
```c
int a = 5; // 二进制 0011
int b = 3; // 二进制 0011
int c = a & b; // 结果为 0011(十进制3)
```
该运算具有短路特性,即当第一个操作数为假(0)时,结果立即为假,无需计算后续位。
位操作技巧
- 清零:
与0相与可快速清零(如 `a & 0`);
- 位翻转:通过 `a ^ (~b)` 实现(`^` 为异或运算,`~` 为取反)。
三、注意事项
负数处理:在计算机中,负数以补码形式参与运算,运算规则与正数一致;
无进位:按位与运算不涉及进位操作,仅对每一位进行逻辑判断。