位置:首頁 » Python3入門教學 » Python3 二進製數和邏輯運算符

Python3 二進製數和邏輯運算符 [編輯]

在之前我們已經看過了簡單的數字和操作。在本文中,將學習數字在計算機內部是如何工作的。

更詳細:雖然這不是在 web 應用程序或大多數桌麵應用程序直接有用的,但是知道這些是非常有用的。如果你不隻關心這一點,可以跳到下一個教學學習。在本文中,將學習在 Python 中如何使用二進製數,如何將它們轉換為小數,怎麼做位操作運算等。

二進製數字

在最低水平,計算機對任何數字無概念,除了'有一個信號“或”這些不是一個信號“。也可以認為這是一個電燈開關:要麼在開關打開,要麼關閉。

這個微小的信息,一台電腦存儲的最小量,被稱為一個比特。表示一個比特位或低(0)或高(1)。

為了表示大於 1 的更高數字,這個想法誕生了使用比特序列。八位的序列可以存儲更大的數字,這被稱為一個字節。序列由1和0組成被稱為:二進製。傳統計數係統十位數字被稱為十進製。

binary

二進製數和十進製表示。

讓我們來看看,在實踐的例子中:

第二個參數2,告訴Python中我們有一批基於2個元素(1和0)。要轉換一個字節(8位)為十進製,簡單的寫了八位在第一個參數的組合。

計算機如何做到這一點?每隔數位(從右到左)乘以2的冪。

數字 ‘00010001‘  就是  (1 x 2^0) + (0 x 2^1) + (0 x 2^2) + (0 x 2^3) + (1 x 2^4) + (0 x 2^5) +  (0 x 2^6) + (0 x 2^7) = 16 + 1 = 17. 請記住,由右至左讀。

數字 ‘00110010’ 也就是 (0 x 2^0) + (1 x 2^1) + (0 x 2^2) + (0 x 2^3) + (1 x 2^4) + (1 x 2^5) +  (0 x 2^6) + (0 x 2^7) = 32+16+2 = 50.

自己嘗試序列'00101010',看看你是否了解和在Python程序中驗證。

使用二進製數的邏輯運算

二進製左移和二進製右移
乘法由兩個因素的因子2和除法在二進製中很容易。我們隻是轉移向左或向右位。我們左移如下:

Bit 4 Bit 3 Bit2 Bit 1
0 1 0 1
1 0 1 0

在移(0,1,0,1)之前,數字為:5。移動(1,0,1,0)之後,數字為:10。在 Python 中,可以使用按位向左符(<<)轉向左,右位運算符(>>)右移。

結果輸出:

AND運算符

鑒於兩個輸入,電腦就可以做一些邏輯與位運算。讓我們使用 AND運營符。如果輸入A和B是正的,輸出將是正的。我們將展示AND運算以圖形方式,兩個左邊作為輸入A和B,正確的圓是輸出:
Bitwise AND

位 AND

在這個代碼很簡單,隻要使用&符號,它代表了邏輯與運營符。

通過改變輸入後有相同的結果,使用上麵的圖像。我們可以與操作符在序列上:

結果如下:

這是有道理的,因為如果做了以上運算:

OR 運算符

現在,我們已經學會了AND運算符,讓我們一起來看看 OR運算符。給定兩個輸入,輸出將為零隻有當A和B均為0。
binary bitwise OR

要執行它,我們使用|運算。位序列可以簡單地這樣執行:

結果如下:

 XOR 運算符

這是一個有趣的運算符:異或或短XOR。
bitwise XOR

為了執行它,我們使用^運算。位序列可以簡單地這樣執行:

結果如下: