按位与 AND( & )
与运算就是将需要运算的两个数的二进制每一位进行对比,只有当两个数的对应位都为 1 时结果为1,其他为0
| 第一个数 | 第二个数 | 结果 |
|---|---|---|
| 0 | 1 | 0 |
| 1 | 1 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
比如:求 1 & 7 实际就是对1和7的二进制每一位进行操作,1的二进制为 0001,7的二进制为 0111。
0001 & 0111 = 0001 最终结果为 0001,实际就是十进制的1
按位或 OR( | )
与运算就是将需要运算的两个数的二进制每一位进行对比,只要两边有1结果为1,都为0时结果为0
| 第一个数 | 第二个数 | 结果 |
|---|---|---|
| 0 | 1 | 1 |
| 1 | 1 | 1 |
| 1 | 0 | 1 |
| 0 | 0 | 0 |
比如:求 1 | 7 实际就是对1和7的二进制每一位进行操作,1的二进制为 0001,7的二进制为 0111。
0001 | 0111 = 0111 最终结果为 0111,实际就是十进制的7
按位异或 XOR( ^ )
与运算就是将需要运算的两个数的二进制每一位进行对比,只有在两边有一个1时结果为1,两边都为1或0结果为0
| 第一个数 | 第二个数 | 结果 |
|---|---|---|
| 0 | 1 | 1 |
| 1 | 1 | 0 |
| 1 | 0 | 1 |
| 0 | 0 | 0 |
比如:求 1 ^ 7 实际就是对1和7的二进制每一位进行操作,1的二进制为 0001,7的二进制为 0111。
0001 ^ 0111 = 0110 最终结果为 0110,实际就是十进制的6
评论 (0)