Java移位运算的注意事项及小技巧

1、移位运算符适用数据类型有byte short char int long

2、对低于int型的操作数将先自动转换为int型再移位

3、对于int型整数移位a>>b,系统将b对32取模,得到的结果才是真正移位的位数。例如:a>>33和a>>1结果一样,a>>32的结果还是a原来的数。

4、对于long型整数位移时a>>b,则是先将移位位数b对64取模

5、移位不会改变变量本身的值。如 a>>1;在一行语句中单独存在,毫无意义

6、x>>1的结果和x/2的结果是一样的,x<<2和x*4的结果也是一样的。总之,一个数左移n位,就是等于这个数乘以2的n次方;一个数右移n位,就是等于这个数除以2的n次方

7、求2的x次方-----> y=1<<x

你可能感兴趣的:(java)