-
与(&):两个操作数的对应位都为1时,结果的该位为1,否则为0。
-
异或(^):两个操作数的对应位不同时,结果的该位为1,否则为0。
-
取反(~):对操作数的每一位取反,1变0,0变1。
-
或(|):两个操作数的对应位有一个为1时,结果的该位为1,否则为0。
-
左移(
<<):将二进制位向左移动,右侧补0。 -
右移(
>>):将二进制位向右移动,左侧补0(逻辑右移)或补符号位(算术右移)。 -
&=:按位与后赋值。 -
|=:按位或后赋值。 -
^=:按位异或后赋值。 -
<<=:左移后赋值。 -
>>=:右移后赋值。
| 运算符 | 名称 | 功能描述 | 示例 | |||
|---|---|---|---|---|---|---|
& | 与(AND) | 两个操作数的对应位都为1时,结果的该位为1,否则为0。 | 0b1010 & 0b1100 = 0b1000 | |||
^ | 异或(XOR) | 两个操作数的对应位不同时,结果的该位为1,否则为0。 | 0b1010 ^ 0b1100 = 0b0110 | |||
~ | 取反(NOT) | 对操作数的每一位取反,1变0,0变1。 | ~0b1010 = 0b0101(假设8位) | |||
| ` | ` | 或(OR) | 两个操作数的对应位有一个为1时,结果的该位为1,否则为0。 | `0b1010 | 0b1100 = 0b1110` | |
<< | 左移(Left Shift) | 将二进制位向左移动,右侧补0。 | 0b1010 << 2 = 0b101000 | |||
>> | 右移(Right Shift) | 将二进制位向右移动,左侧补0(逻辑右移)或补符号位(算术右移)。 | 0b1010 >> 2 = 0b0010 | |||
&= | 与后赋值 | 对两个操作数进行按位与运算,并将结果赋值给左操作数。 | a &= b 等价于 a = a & b | |||
| ` | =` | 或后赋值 | 对两个操作数进行按位或运算,并将结果赋值给左操作数。 | `a | = b等价于a = a | b` |
^= | 异或后赋值 | 对两个操作数进行按位异或运算,并将结果赋值给左操作数。 | a ^= b 等价于 a = a ^ b | |||
<<= | 左移后赋值 | 将左操作数的二进制位向左移动,并将结果赋值给左操作数。 | a <<= 2 等价于 a = a << 2 | |||
>>= | 右移后赋值 | 将左操作数的二进制位向右移动,并将结果赋值给左操作数。 | a >>= 2 等价于 a = a >> 2 |








![[Deep Learning] Anaconda+CUDA+CuDNN+Pytorch(GPU)环境配置-2025](https://i-blog.csdnimg.cn/direct/55fa37ad880a4beab115d3389f3a94cb.png)









