2014-02-24 108 views
1

如果我做print(1 >> 2)我得到0什麼>><<並做蟒蛇

如果我做print(2 << 1)我得到4

如果我做print(9 << 3)我得到72

如果我做print(3 >> 9)我得到0

什麼>><<在python中做什麼?

+3

按位運算符! – jayelm

+0

@falsetru固定。謝謝 – Ben

回答

6

它們是按位移位運算符。例如,2具有二進制等效00000010,所以2 < < 1是00000010左移1次。這產生了00000100,即4。

1 >> 2是00000001右移兩次,即00000000(1在第一次移位後掉下去,所以1 >> 1也是0),顯然是是0.

3

按位左移,按位右移。它們大致相當於加倍(<<)或減半(>>),就像十進制左移大致相當於乘以10,而小數右移大致相當於除以10.

+0

謝謝。谷歌很難這些,因爲python shell出現了很多。 – Ben

相關問題