如果我print(1 >> 2)
我得到0。
如果我print(2 << 1)
我得到4。
如果我print(9 << 3)
我得到72
如果我print(3 >> 9)
我得到0
>>
和<<
在python中做了什么?
答案 0 :(得分:6)
它们是按位移位运算符。例如,2具有二进制当量00000010,因此2&lt;&lt; 1是00000010左移1次。这产生00000100,即4.
1&gt;&gt; 2是00000001右移2次,即00000000(1虽然在第一次移位后从1落下,所以1>&gt; 1也是0),显然是0。
答案 1 :(得分:3)
按位向左移位,向右移位。它们大致等于加倍(<<
)或减半(>>
),就像十进制左移大致相当于乘以10而十进制右移大致等于除以10。