您的位置:首页 > 编程语言 > Java开发

【java】位运算符(<<,>>,>>>)

2017-04-19 15:31 169 查看

1,规则

java中的位运算符,用于操作二进制。包括有“&,|,^,~,<<,>>,>>>”

&:按位与,“只有两个都是1,结果才是1。”

|:安位或,“只要有一个1,结果就是1。”

^:按位异或,“相同的为0,不同的为1。”

~:按位取反,“1就是0,0就是1。”

<<:按位左移,“表示将二进制向左位移,右边填0。”

>>:按位右移,“表示将二进制向右位移,左边填符号位。”

>>>:无符号右移动,“表示将二进制向右位移,左边填0。”

2,移位运算符注意事项和技巧

(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取模。移位不会改变变量本身的值。如a>>1;在一行语句中单独存在,毫无意义。
(5)x>>1的结果和x/2的结果是一样的(因此以后要 求解n除以2,可以用n>>1),x<<2和x*4的结果也是一样的。总之,一个数左移n位,就是等于这个数乘以2的n次方,一个数右移n位,就是等于这个数除以2的n次方。

3,如何用程序实现求2的x次方。

y=1<<x;

4,参考文章

java移位运算符
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: