麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Python > 正文

Python運算符之位運算符

2023-04-27 19:03:19
字體:
來源:轉載
供稿:網友

Python中的位運算符與其它語言中的位運算符作用相同。

位運算符也稱二進制運算符,并且這些運算符只用于對整型數進行運算。

進行位運算時,整型數被轉換為二進制形式,然后位運算符對每位執行有關運算后,將結果再轉換回十進制形式,并返回給用戶。

Python中共有6種位運算符:

(1)&:按位與運算

對應位上的二進制數進行與運算,如果參加位運算的兩個二進制數為1,則結果為1,只要有一個為0,則結果為0,如10和4進行按位與運算,他們對應的二進制形式分別為:1010 和 100,則:

 1 0 1 0
& 0 1 0 0
-----------
  0 0 0 0

即10和4按位與運算的結果為二進制的0,也對應著10進制的0,最終結果即為0,即 10 & 4 = 0

再如,5和6進行按位與運算,其對應的二進制形式分別為: 101 和 110,

  0 1 0 1
& 0 1 1 0
-------------
 0 1 0 0

其運算結果為二進制的100,即十進制的4,也就是說: 5 & 6 = 4

在Python中的運行結果如下:

Python按位與運算

(2)|:按位或運算

按位或運算是二進制對應的每位進行或運算。如果對應的兩位都為0,則結果為0,只要有一個為1,則結果為1。

10 和 4的或運算:

 1 0 1 0
| 0 1 0 0
------------
 1 1 1 0

其或運算的結果為二進制的 1110,對應著十進制的 14,即 10 | 4 = 14.

5 和 6的或運算:

 0 1 0 1
| 0 1 1 0
------------
 0 1 1 1

5 和 6的按位或運算結果為 0111,對應的十進制為 7 ,即 5 | 6 = 7.

在Python中的運行結果:

Python中的按位或運算

(3)^:按位異或運算

按位異或運算,即對應的兩個二進制位不同時,結果為1,否則為0.

10 和 4 的按位異或運算:

 1 0 1 0
^ 0 1 0 0
------------
 1 1 1 0

即,結果為二進制1110,對應的十進制為14,亦即: 10 ^ 4 = 14

5 和 6 的按位異或運算:

 0 1 0 1
^0 1 1 0
------------
 0 0 1 1

0011對應的十進制數為3,也就是說: 5 ^ 6 = 3

在Python中的運行結果:

Python中的按位異或運算

(4)~:按位取反運算符

該運算是單操作數運算符,即其只需要一個操作數參與運算。運算時,二進制數上的每位取反,即1變為0, 0變為1.

這里涉及到數字在計算機中的存儲形式,在計算機中,最高位為符號位,符號位為0時表示正數,符號位為1時表示負數。

數字在計算機中是以補碼的形式進行存儲的,整數的補碼與原碼相同,負數的補碼是在原碼的基礎上除符號位外,按位取反后,再加1.

如 +1,原碼為0 0001,補碼為 0 0001.

-1 ,原碼為1 0001,補碼為:1 1111。

再如:+2 ,原碼為: 0 0010,補碼為:0 0010.

-2,原碼為:1 0010,補碼為:1 1110

10按位取反運算(第1位為符號位):

~ 0  1 0 1 0
 --------------
 1  0 1 0 1

結果最高位為1,為負數,因為負數在計算機中以補碼形式存儲,轉換為原碼(先減1,再按位反)為:

1 1011

即對應的十進制數為 -11,即: ~10 = -11.

5 按位取反運算:

~ 0  0 1 0 1
---------------
 1  1 0 1 0

結果對應的原碼為: 1 0110,對應的十進制數為:-6

在Python中的運行結果:

Python中的按位取反運算

(5)<<:按位左移運算符

其形式為:m<<n

按位左移運算,m對應的二進制數的每位向左移動n位,后面補0.

如10的二進制數 1010 向左移動兩位后為:10 1000,其對應的十進制數為:40.

5的二進制數:0101,向左移動兩位后為:1 0100,其對應的十進制數為:20

也就是說,一個整數左移n位相當于這個數 m×2n

在Python中的運算結果:

Python中按位左移運算

(6)>>:按位右移運算符

其形式為:m >> n

即m對應的二進制數每位向右移動n位,移出的二進制數字去掉,最左邊空出的變為0.

10的二進制 1010 向右移動1位為:0101,即變為十進制的5;再移動1位變為0010,變為2,再移動1位變為0001,變為1,再移動就一直為0了。

即每向右移動1位,相當于原數除以2,只保留整數部分;移動n位,相當于原數除以2n,只保留整數部分。

在Python中的運算結果:

Python中的按位右移運算

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 污片视频网站 | 国产精品99久久久久久大便 | 羞羞的视频免费在线观看 | 久色亚洲 | 在线成人一区二区 | 精品久久久久久久久久久久包黑料 | 国产男女 爽爽爽爽视频 | 一级大片久久 | 一区二区美女视频 | 成人精品| 一区二区三区在线观看视频 | 综合97| 污视频在线免费播放 | 日韩精品中文字幕一区二区 | 有色视频在线观看 | 国产一区二区三区四区五区精品 | 国产又粗又爽又深的免费视频 | 91久久精品一 | 亚洲精品3 | 日韩字幕在线观看 | 国产精品久久久久久久久久 | 成人在线视频一区 | 538任你躁在线精品视频网站 | 久久久久国产精品久久久久 | 欧美一级特级 | 成人福利视频在线 | 91精品国啪老师啪 | 1级黄色毛片 | 欧美a在线观看 | 国产小视频在线 | 欧美黄 片免费观看 | 操你啦免费视频 | 在线a亚洲视频播放在线观看 | 久久精品片 | 成人一级片毛片 | 久草在线免费看 | 免费h片 | 国产美女视频黄a视频免费 日韩黄色在线播放 | 一本色道久久综合亚洲精品图片 | av成人在线电影 | 牛牛a级毛片在线播放 |