- java操作符——移位操作符 :java的移位操作符这里主要讲3种,左移操作符(<<)、“有符号”的右移操作符(>>)和“无符号”的右移操作符(>>>)
-
“无符号”的右移操作符(>>>):无论正负,都在高位插入0,使用的是“零扩展”。
- 左移操作符(<<):把操作符左边的操作数向左移动操作符右侧指定的位数,在低位补0,例如:
int a = 1; int b = a << 2; a=1 -> 001 , b= 4-> 100
-
“有符号”的右移操作符(>>):把操作符左侧的操作数向右移动操作符右侧指定的位数,它使用“符号扩展”,即如果符号是正,则在高位补0,如果符号为负,则在高位插入1。
int a1 = 16; int b1 = a1 >> 2; a1=16-> 10000, b1=4-> 00100 int a2 = -16; int b2 = a2 >> 2; a2=-16 -> 1,10000 , b2=-4 ->1,00100