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

java 位运算

2015-02-27 14:41 113 查看
public static class Test3 {
public static void main(String[] args) {

int i=4;
System.out.println(~i);//-5 (i的二进制为0100
System.out.println(~i&i);//0
System.out.println(~i|i);//-1
System.out.println(i>>2);//1 4/2的2次方
System.out.println(i<<2);//16 4*2的2次方
System.out.println(i>>>2);//1
System.out.println(-i>>2);//-1
System.out.println(-i>>>2);//1073741823
}
}

注:x<<y 相当于 x*2y ;x>>y相当于x/2y
从计算速度上讲,移位运算要比算术运算快。
如果x是负数,那么x>>>3没有什么算术意义,只有逻辑意义。
本文出自 “贾小仙” 博客,请务必保留此出处http://hackerxian.blog.51cto.com/9240575/1615677
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: