邏輯左移=算數左移,右邊統一添0
邏輯右移,左邊統一添0
算數右移,左邊添加的數和符號有關,左側添加符號位。即正數添0,負數添1。
如果負數要進行邏輯右移,可將其轉換為unsigned類型。
左移運算符(<<)
左移運算符是用來將一個數的各二進制位左移若干位,移動的位數由右操作數指定(右操作數必須是非負值),其右邊空出的位用0填補,高位左移溢出則舍棄該高位。
右移運算符(>>)
對無符號數,右移時左邊高位移入0;對於有符號的值,如果原來符號位為0(該數為正),則左邊也是移入0。如果符號位原來為1(即負數),則左邊移入0還是1,要取決於所用的計算機系統。有的系統移入0,有的系統移入1。移入0的稱為“邏輯移位”,即簡單移位;移入1的稱為“算術移位”。