左移和右移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次方,這裏取的是商,不要餘數