要點:1.作移位以前都要進行二進制數的轉換,class
2.負數要將高位補位要用1,正數要用0語法
位移的數<<移位的數量二進制
首先把3轉換爲二進制數字0000 0000 0000 0000 0000 0000 0000 0011,而後把該數字高位(左側)的兩個零移出,其餘的數字都朝左平移2位,最後在低位(右側)的兩個空位補零。則獲得的最終結果是0000 0000 0000 0000 0000 0000 0000 1100,則轉換爲十進制是12。移動
在數字沒有溢出的前提下,對於正數和負數,左移一位都至關於乘以2的1次方,左移n位就至關於乘以2的n次方。di
>>數字
按二進制形式把全部的數字向右移動對應位移位數,低位移出(捨棄),高位的空位補符號位,即正數補零,負數補1。
語法格式:
須要移位的數字 >> 移位的次數
例如11 >> 2,則是將數字11右移2位
計算過程:
11的二進制形式爲:0000 0000 0000 0000 0000 0000 0000 1011,而後把低位的最後兩個數字移出,由於該數字是正數,因此在高位補零。則獲得的最終結果是0000 0000 0000 0000 0000 0000 0000 0010。轉換爲十進制是2。
l >>> 運算規則: 按二進制形式把全部的數字向右移動對應位數,低位移出(捨棄),高位的空位補零。對於正數來講和帶符號右移相同,對於負數來講不一樣。