位运算符

  • &: 按位与
  • |: 按位或
  • ^: 按位异或
  • : 按位取反
  • <<: 左移动
  • >>: 右移动

把数字当作二进制数进行运算

>>> a = 2
>>> b = 3
>>> 2 & 3
2
>>> 0b10 & 0b11
2
>>> a | b
3
>>> 2 & 2
2
>>> 2 & 2
2
>>> 3 & 3
3

2 的 二进制数 10

3 的 二进制数 11

位运算:每一位都是1才是1

或运算:每一位上只要有一个是1就是1

>>> 2 << 3
16
>>> 2 >> 1
1
>>> 2 >> 2
0
>>> 2 >> 3
0

左移3个单位:10 => 10000 : 2的4次方,即16 右移1个单位:10 => 1 : 1 右移2个单位:10 => 0 : 0 右移3个单位:10 => 0 : 0

>>> 10 >> 2
2
>>> 10 >> 1
5
>>> 10 << 2
40

10的二进制数位: 1010 右移2: 10 右移1: 101 左移2: 101000

results matching ""

    No results matching ""