Python中l =(2 << 2 | 3 << 2)的含义

use*_*408 -1 python

我不确定上面的表达式在Python中意味着什么.有些谷歌搜索但仍然没有.l的值是12.

感谢您的帮助.

fal*_*tru 8

它们是按位操作的.(二进制按位操作,移位操作)

如果用二进制表示数字,则更容易理解.

>>> bin(2)
'0b10'
>>> bin(3)
'0b11'
>>> bin(2 << 2)  # << : Shift left
'0b1000'
>>> bin(3 << 2)
'0b1100'
>>> bin(2 << 2 | 3 << 2)
'0b1100'

>>> int('1100', 2)
12
Run Code Online (Sandbox Code Playgroud)