按位与运算符(&)用于对两个数字的二进制表示进行逐位“与”运算。运算规则如下:
如果两个数字的对应位都为1,则该位的结果为1。
如果两个数字的对应位有一个为0,则该位的结果为0。
如果两个数字的对应位都为0,则该位的结果为0。
例如,如果我们有两个数字 `a = 1010`(二进制)和 `b = 1111`(二进制),那么 `a & b` 的计算过程如下:
```
1010 (a 的二进制表示)
& 1111 (b 的二进制表示)
---------
1010 (结果的二进制表示)
所以,`a & b` 的结果是 `1010`(十进制中的10)。
按位与运算常用于以下目的:
清除数字的某些位(即将其设置为0)。
提取数字的某些位(即将其保留为1)。
例如,如果我们想要将数字 `a` 的高8位清零,保留低8位,我们可以进行 `a & 255` 运算,因为 `255` 的二进制表示是 ``。
```
1010 (a 的二进制表示)
& (255 的二进制表示)
---------
00001010 (结果的二进制表示,即十进制的10)
这样我们就得到了 `a` 保留低8位的结果