什么是二进制的按位或和按位异或

按位或(bitwise OR)和按位异或(bitwise XOR)是两种二进制位运算。但是这两个概念很容易忘记或者混淆,今天我们就来加深一下印象吧!

按位或运算符(|)对两个二进制数的每一位都执行逻辑或操作,返回一个新的二进制数。其真值表如下

1
2
3
4
5
6
input bit a | input bit b | output 
-------------------------------
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 1

例如,执行 6 (二进制位 110) 和 3 (二进制位 011) 的按位或运算 会得到 7 (二进制位 111):

1
2
3
4
5
  110
| 011
-----
111

按位异或运算符(^)对两个二进制数的每一位都执行逻辑异或操作,返回一个新的二进制数。其真值表如下:

1
2
3
4
5
6
7
input bit a | input bit b | output
-------------------------------
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0

1
2
3
4
5
  110
^ 011
-----
101

总结

按位或,就是只要有1 就为1 (包含了1 1 ;0 1;1 0;三种)
按位异或,必须一个0一个1,才为1 (包含0 1;1 0;两种)
大家记住了吗?


什么是二进制的按位或和按位异或
https://leiqi.top/2023-06-08-3d1c210a715f.html
作者
Lei Qi
发布于
2023年6月8日
许可协议