按位与、按位或、按位异或是针对二进制位进行的。
按位与
运算规则:对应位同为1则为1,对应位同为0则为0,一位为1一位为0则为0,一位为0一位位1则为0。可以简单想成 有0 则为0, 均为1 时结果才为1。
0 0 →0
1 0 →0
0 1 →0
1 1 →1
例如:4 & 5,即 100 & 101 = 100
100
101
100
\begin{array}{r} 100\\ 101\\ \hline\ 100 \end{array}
100101 100
按位或
运算规则:对应位同为1则为1,对应位同为0则为0,一位为1一位为0则为1,一位为0一位位1则为1。可以简单想成 有1 则为1, 均为0 时结果才为0。
0 0 →0
1 0 →1
0 1 →1
1 1 →1
例如:4 | 5,即 100 | 101 = 100
100
101
101
\begin{array}{r} 100\\ 101\\ \hline\ 101 \end{array}
100101 101
按位异或
运算规则:对应位相异(不同)时为1,相同时为0。正如“异或”中的“异”!
0 0 →0
1 0 →1
0 1 →1
1 1 →0
例如:4 ^ 6,即100 ^ 110 = 010
100
110
010
\begin{array}{r} 1 0 0\\ 110\\ \hline\ 010 \end{array}
100110 010
① 0 & 任何正整数都为 0