一、java中定义了三种移位运算符:
1.“ 《” 左移运算符:右边空出的位置补0
2.“》”算数右移:左边移出的空位补最高位(符号位)
3.“>>>”无符号右移:左边空出的位置补0
二、移出“负数位”
48《-7
取 -7的补码(int型4字节):111111111111111111111111111111001
31的补码 :000000000000000000000000000011111(目的屏蔽前27位)
相与的结果:11001
相当于:48《25
三、移位不村催是乘除运算:
对于正数左移相当于乘以2,右移相当于除以2,对于负数并非如此。
在除法中,商是和被除数一致的。如果不能整除,对于除法,计算机是向零取整的,这对整数是向下取整,对于负数是向上取整。
10》4 (10/2=2.5),故结果是:2
-10》4(-10/2=-2.5),故结果是-2