java中的移位运算符
1.<<左移运算符
2.>>右移运算符
3.>>>无符号右移运算符
简单的来说就是对我们数据进行二进制的移位。比如十进制的2用二进制来表示就是00000010,如果我们用左移运算符移动三位就变成00010000,实际上移动两位就是乘以了2的3次方。下面是代码
所以我们简单的理解为左移运算符就是乘以2的n次方,n代表移动的位数。右移运算符就是除以2的n次方,n代表移动的位数, 同时"有符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1.
无符号右移运算符:
"无符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0