Python 位運算符 [附示例]

已發表: 2022-09-11

Python 編程語言提供了按位運算符,允許程序員在最基本的層面上操作數據——讓他們對所有變量有更多的控制權。

Python 是當今世界上最流行的編程語言之一。 Python 的多功能性和它提供的眾多功能是其越來越受歡迎的幾個原因。 本文將探討 Python 中的位運算符、不同類型的位運算符、它們的用途等等。

目錄

Python的位運算符概述

位運算符在不同的編程語言中看起來是一樣的。 Python 帶有各種類型的運算符,例如算術運算符、邏輯運算符和比較運算符。

操作員例子意義
& a&b 按位與
| 一個 | b 按位或
^ 一個^ b 按位異或(異或)
~ 〜一個按位非
<< 一個 << n 按位左移
>> 一 >> n 按位右移

大多數位運算符都是二進制的,這意味著它們需要兩個操作數才能使用,通常稱為左操作數和右操作數。 位非 (~) 是唯一的一元位運算符,因為它只需要一個操作數。

探索我們的熱門數據科學課程

IIITB 數據科學高級管理研究生課程 商業決策數據科學專業證書課程 亞利桑那大學數據科學理學碩士
IIITB 數據科學高級證書課程 馬里蘭大學數據科學和商業分析專業證書課程 數據科學課程

什麼是位運算符?

位運算符是用於對整數執行按位計算的運算符類型之一。 首先將整數轉換為二進制,然後逐位執行操作,因此稱為按位運算符。 然後將結果轉換為十進制格式。 這些運算符只能對整數執行計算。

查看我們的數據科學認證以提升自己的技能。

位運算符的重要性

您可能已經了解什麼是位運算符,現在讓我們關注位運算符的重要性。 它們比算術運算符更好,這就是您需要使用它們的原因:

  • 執行速度

按位運算符比執行乘法或除法更快。 如果您需要將變量 x 乘以 9,您可以執行 (x<<3 + x),這將比 (x*9) 快幾個週期。

  • 錯誤檢查

位運算符廣泛用於檢查錯誤。 如果您將一些位發送到另一台服務器上的另一台計算機,那麼肯定會出現一些錯誤。 您可以使用按位運算符識別這些錯誤。

您可能了解按位運算符的用途和重要性,那麼,讓我們繼續了解不同類型的按位運算符。

不同類型的位運算符

位邏輯運算符

按位運算符 and、or 和 xor 是具有左右操作數的二元運算符。 位運算符不是只有右操作數的一元操作數。 所有四個位運算符的結果類型都是整數。 位邏輯運算符在其之前的操作數中一次檢查一位,併計算結果中的相應值。

按位與

AND (&) 運算符用於在兩位之間執行 AND。 在這種情況下,兩個位都需要為真才能使輸出為真。 如果任一位為假,則輸出為假。 換句話說,如果兩個位都是 1,則返回 1,否則返回 0。

1&1 = 1

1&0 = 0

0&0 = 0

0&1 = 0

例子:

a = 10 = 1010(二進制)

b = 4 = 0100(二進制)

a & b = 1010

&

0100

= 0000

= 0(十進制)

按位或

OR (|) 運算符用於執行兩個位之間的 OR 運算。 為了使輸出為真,其中一位需要為真。 與 (&) 運算符不同,兩個位都不必為真,結果也為真。 換句話說,當且僅當考慮的兩個位都為 0 時,結果位為 0,否則結果為 1。

1 | 1 = 1

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

例子:

a = 10 = 1010(二進制)

b = 4 = 0100(二進制)

一個 | b = 1010

|

0100

= 1110

= 14(十進制)

按位非

按位非 (~) 運算符用於返回 Python 中數字的補碼。 但是,not 運算符是一個非常簡單的運算符,用於將位從 0 翻轉到 1 和從 1 翻轉到 0。

~13 (0b01101) = -14

~16 (0b010000) = -17

~31 (0b011111) = -32

例子:

a = 10 = 1010(二進制)

~a = ~1010

= -(1010 + 1)

= - (1011)

= -11(十進制)按位異或運算符

XOR (^) 運算符用於在正在操作的兩個位之間進行 XOR。 XOR 操作非常簡單。 如果兩個位相同,則結果位為 0,否則為 1。它廣泛用於邏輯計算以加快處理速度。

1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

例子:

a = 10 = 1010(二進制)

b = 4 = 0100(二進制)

a & b = 1010

^

0100

= 1110

= 14(十進制)

移位運算符

這些按位運算符用於通過將數字分別乘以或除以 2 來將數字的位從左向右移動。 當我們必須將數字除以或乘以 2 時,可以使用它們。

按位右移

顧名思義,右 (>>) 運算符將位向右移動到表示在運算符右側的數字。

閱讀我們熱門的數據科學文章

數據科學職業道路:綜合職業指南 數據科學職業發展:工作的未來就在這裡 為什麼數據科學很重要? 數據科學為企業帶來價值的 8 種方式
數據科學對管理者的相關性 每個數據科學家都應該擁有的終極數據科學備忘單 成為數據科學家的 6 大理由
數據科學家生活中的一天:他們做什麼? 神話破滅:數據科學不需要編碼 商業智能與數據科學:有什麼區別?

例如 – 10>>2 將 (1010) 向右移動 2。

示例 1:

a = 10 = 0000 1010(二進制)

a >> 1 = 0000 0101 = 5

示例 2:

a = -10 = 1111 0110(二進制)

a >> 1 = 1111 1011 = -5

按位左移

顧名思義,左 (<<) 運算符將位向左移動到運算符右側表示的數字。

例如 – 1<< 2 會將 1 向左移動 2 個值。

示例 1:

a = 5 = 0000 0101(二進制)

一 << 1 = 0000 1010 = 10

一 << 2 = 0001 0100 = 20

示例 2:

b = -10 = 1111 0110(二進制)

b << 1 = 1110 1100 = -20

b << 2 = 1101 1000 = -40

閱讀我們熱門的數據科學文章

數據科學職業道路:綜合職業指南 數據科學職業發展:工作的未來就在這裡 為什麼數據科學很重要? 數據科學為企業帶來價值的 8 種方式
數據科學對管理者的相關性 每個數據科學家都應該擁有的終極數據科學備忘單 成為數據科學家的 6 大理由
數據科學家生活中的一天:他們做什麼? 神話破滅:數據科學不需要編碼 商業智能與數據科學:有什麼區別?

結論

python 位運算符有很好的理解將幫助您在項目中操作二進制數據。 您現在了解了按位運算符及其語法和支持它們的數據類型的基礎知識。 您還可以根據自己的需要自定義他們的行為。

如果您渴望學習和擴展有關 python 和按位運算符的知識,請查看 upGrad 和馬里蘭大學的數據科學和商業分析專業證書課程,該課程專為提供 20 多個案例研究和作業的工作專業人士而創建添加到您的投資組合中,100 多個小時的現場會議,400 多個小時的學習與頂級公司的工作幫助。

位運算符在哪裡使用?

位運算符可用於操作數字的各個位。 在 Python 中,按位運算符對整數執行按位計算。 首先,將整數轉換為二進制,然後以小塊執行操作——這就是按位運算符的名稱。 Python 位運算符專門用於整數,以十進制格式返回結果。

什麼是單操作數運算符?

算術運算符使用操作數執行數學運算,例如加法和減法。 一元和二元是數學運算符的兩大類。 一元運算符使用單個操作數執行功能,例如:按位非 (~),而二元運算符使用兩個操作數。

為什麼我們需要按位運算符?

位運算符是表示數據時有效利用空間的好方法。 在對硬件提供的數據進行操作時,這些運算符是必需的,其中世界中的特定位是有意義的。 位運算符是節省內存所必需的。 將數據打包成位而不是單詞可以節省內存,而且您通常可能擁有大量數據和有限的內存。