04 位运算符、运算符优先级
# ###(7)位运算符: & | ~ ^ << >> var1 = 19 var2 = 15 # & 按位与 res = var1 & var2 print(res) ''' 10011 01111 00011 ''' # | 按位或 res = var1 | var2 print(res) ''' 10011 01111 11111 ''' # << 左移 """ n<<m n乘以2的m次幂 """ res = 5 << 2 # 相当于5 * 2的2次幂 """ 00000101 00010100 4+16 = 20 """ # >> 右移 '''n>>m n除以2的m次幂''' res = 5 >> 1 """ 00000101 00000010 """ print(res) # ^ 按位异或 """两个值[不相同]方为真,两个值[相同]方为假""" res = var1 ^ var2 ''' 10011 01111 11100 ''' print(res) # ~ 按位非 - ( n+1 ) res = ~19 res = ~-21 print(res) # 运算符的优先级 ''' 一元运算符: 同一时间只操作一个数字运算的 ( ~ - ) ~19 二元运算符: 同一时间只操作两个数字运算的 (+ - * /) 5 + 3 整体一元运算符优先级 > 二元运算符