Python 位运算

First Post:

Last Update:

逻辑与位运算符

位运算共两大类

  • 逻辑位运算符
    • 位与 &AND
    • 位或 |OR
    • 异或 ^NOT
    • 按位取反 ~NAND
  • 位移运算符
    • 左移 <<
    • 右移 >>

逻辑运算符

位与 &

位与是一个二元运算符

当两个数都为 1 时结果为 1, 否则为 0


例:

十进制

转换为二进制:

1000 的十进制为 8


位或 |

两个数都为 0 时结果才为 0, 否则为 1


例:

二进制:


异或 ^

两个数不同时结果才为 1, 否则为 0


例:

二进制:


按位取反 ~

将每个二进制取反, 1 变为 0, 0 变为 1


例:

~12 = -13

二进制(8 位):

~0000 1100 = 1111 0011


位移运算符

左移

每个二进制位左移若干位, 高位丢弃, 低位补 0


右移

每个二进制位右移若干位, 低丢弃, 高位补 0


计算机符号数

计算机符号数有 3 种表示方式

  • 原码
  • 反码
  • 补码

后面慢慢写

源码


反码


补码