python 位操做符 左移和右移 運算

左移和右移N位等同於無溢出檢查的2的N次冪運算:2**Nide

<<左移數學

運算規則:it

按二進制形式把全部的數字向左移動對應的位數,高位移出(捨棄),低位的空位補零。class

語法格式:語法

須要移位的數字<<移位的位數二進制

例如:3<<2則是將數字3左移動2位移動

計算過程:di

3<<2首先把3轉換爲二進制數字00000000000000000000000000000011view

而後把該數字高位(左側)的兩個零移出,其餘的數字都朝左平移2位,最後在低位(右側)vi

的連個空位補零。則獲得的結果是00000000000000000000000000001100,

則轉換爲十進制是12

數學意義:

在數學沒有溢出的前提下,對於正數和負數,左移覺得都至關於乘以2的1次方,左移n位

就至關於乘以2的n次方

>>右移

運算規則:

按二進制形式把全部的數字向右移動對應的位數,低位移出(捨棄),高位的空位補符號位

即正數補0,負數補1

語法規則:

須要移位的數字>>移位的次數

例如:11>>2則是將數字11右移2位

計算過程:

11的二進制形式爲:00000000000000000000000000001011而後把低位的最

後兩個數字移出,由於該數字是正數,因此在高位補0,則獲得的最終的二進制結果爲:

00000000000000000000000000000010轉換爲十進制數爲3

數學意義:

右移一位至關於除以2,右移n位至關於除以2的n次方,這裏取的是商,不要餘數

相關文章
相關標籤/搜索