python移位運算符


1,二進制方式

>>> bin( 1 )
'0b1'
>>> bin( 10 )
'0b1010'
>>> a = 0b10
>>> a
2
>>> 

2,移位運算符( >> << ): 箭頭向左就是  向左移位  反正 箭頭向右  就是向右位移,移位針對的是二進制

如,十進制的1   ---> 對應的二進制是  0000 0001

1 << 1 : 向左移動1位

0000 0001  --->0000 0010(  2 )

1 << 2 : 向左移動2位

0000 0001  --->0000 0100( 4 )

2 << 2 : 2向左移動2位

0000 0010 ---> 0000 1000( 8 )

>>> 1 << 1
2
>>> 1 << 2
4
>>> 2 << 2
8
>>> 

向右移動是一樣的道理,先把數轉成二進制,再向右移動對應的位數

>>> 1 >> 1
0
>>> 2 >> 1
1
>>> 3 >> 1
1
>>> 6 >> 1
3
>>> 

6( 0000 0110 ) ---->經過 (6 >> 1)  0000  0011( 3 )

 

1.與運算:A與B值均為1時,A、B與的運算結果才為1,否則為0 (運算符:&)

2.或運算:A或B值為1時,A、B或的運算結果才為1,否則為0  (運算符:|)

3.異或運算:A與B不同為1時,A、B的運算結果才為1,否則為0  (運算符:^)

4.按位翻轉(按位取反):將內存中表示數字的2進制數取反0取1,1取0 (運算符:~)

 

>>> 1 & 1
1
>>> 1 & 0
0
>>> 4 & 1
0
>>> 
>>> 1 | 1
1
>>> 1 | 0
1
>>> 4 | 1
5
>>> 
>>> 1 ^ 1
0
>>> 7 ^ 8
15
>>> 
>>> ~5
-6
>>> ~20
-21
>>> 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM