与运算(AND)是计算机中的一种基本逻辑运算方式,符号表示为“&”,其运算规则如下:
0 & 0 = 0:
两个位同时为0时,结果为0。
0 & 1 = 0:
一个位为0,另一个位为1时,结果为0。
1 & 0 = 0:
一个位为1,另一个位为0时,结果为0。
1 & 1 = 1:
两个位同时为1时,结果为1。
与运算的特殊用途包括:
清零:如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。
取指定位:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。
负数在计算机中通常按补码形式参加按位与运算。
举个例子,如果我们有两个二进制数:
数字2的二进制表示为:0000 0010
数字3的二进制表示为:0000 0011
进行与运算:
```
0000 0010
& 0000 0011
---------
0000 0001
```
结果为0000 0001,即十进制的1。
在C语言中,与运算符为“&”,例如:
```c
int a = 5; // 二进制表示为 0000 0101
int b = 3; // 二进制表示为 0000 0011
int result = a & b; // 结果为 0000 0001,即十进制的1
```