java中位运算符的使用
<<(左位移运算符)
‘a << n’ 符号的作用是将 a 的所有二进制位全部向左移n位,右边补0。a和n必须为整数
a <<= n;即a = a << n;从运行结果看,相当于a = a * Math.pow(2,n);即a与2的n次方的乘积赋值给a 例:index <<= 1;相当于 index = index * 2;位运算效率高
>>(右位移运算符)
解释与<<相似
例:a >> 1;相当于 a / 2
^(异或运算)
运算规则是:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。
比如:8^11.
8转为二进制是1000,11转为二进制是1011.从高位开始比较得到的是:0011.然后二进制转为十进制,就是Integer.parseInt("0011",2)=3;
应用案例:实现两个整型数的交换 int a = 111; int b = 222; System.out.println("a = " + a + ", b = " + b); a ^= b; // a = a ^ b b ^= a; // b = b ^ a a ^= b; // a = a ^ b System.out.println("a = " + a + ", b = " + b);
奇数判断
int a = -2;
int b = -1;
int c = 0;
int d = 1;
int e = 2;
Log.d("奇数判断", a + "是奇数:" + ((a & 1) == 1));
Log.d("奇数判断", b + "是奇数:" + ((b & 1) == 1));
Log.d("奇数判断", c + "是奇数:" + ((c & 1) == 1));
Log.d("奇数判断", d + "是奇数:" + ((d & 1) == 1));
Log.d("奇数判断", e + "是奇数:" + ((e & 1) == 1));
上一篇:
IDEA上Java项目控制台中文乱码
