Java位運算符理解方式
位運算符(左移):
<<(左移)
將一個運算符對象的各二進制位全部左移諾幹位(左邊的二進制位丟棄,右邊補0)
操作數每左移一位,相當於該數乘以2
(右移)
將一個數的各二進制位全部右移諾幹位,正數左補0,負數左補1,右邊丟棄。
操作數每右移一位,相當於該數除以2
無符號右移:
無論最高位是0還是1,左側被移空的高位都填入了0;
小技巧:位移可以實現整數除以或乘以2的n次方的效果。例如, y>>1的結果與y/2的結果相同,總之,一個數左移n位,就是將這個數乘以2的n次方;一個數右移n位,就是將這個數除以2的n次方。