您的位置:首页 > 职场人生

黑马程序员_java基础——位运算与位操作

2015-03-24 20:39 411 查看
 ------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
对数进行位操作的方法有很多,这里主要介绍一下异或,算数左移,算数右移和逻辑右移。

1.异或运算就是按位相异为1,异或运算有一个重要的特点就是异或一个数两次就等于这个数本身,一个重要的应用就是:不用第三方变量交换两个数。如:交换整数n和m的值

n=n^m;   

m=n^m;    

  n=n^m;

上述三条语句就可以完成n和m的交换。

2.左移位:<<,有符号的移位操作

左移操作时将运算数的二进制码整体左移指定位数,左移之后的空位用0补充

3.右移位:>>,有符号的移位操作

右移操作是将运算数的二进制码整体右移指定位数,右移之后的空位用符号位补充,如果是正数用0补充,负数用1补充。

例子:

public static void main(String[] args)

{

System.out.println(3<<2);//3左移2位

System.out.println(-3<<2);//-3左移2位

System.out.println(8>>2);//6右移2位

System.out.println(-8>>2);//-6右移2位

}

输出结果

12

-12

2

-2

4.逻辑右移:>>>只对位进行操作,没有算术含义,它用0填充左侧的空位。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息