一. 引言:本短文主要介绍移位操作的注意事项和按位操作的典型应用
二. 移位操作的注意事项:
<< :按位左移运算符,左操作数按位左移右操作数指定的位数。
>> :按位右移运算符 ,左操作数按位右移右操作数指定的位数
>>> :按位右移补零操作符 ,左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。
三. 按位操作的应用:
1. 一个数和另一个数经过两次异或操作,还是原来的数。可以用来做交换操作
a = a ^ b; b = a ^ b; a = a ^ b;
2. 计算一个整数的二进制中1的个数
public int numberOfOnes(int n){ int count =0 ; while (n!=0){ n = n & (n-1); count++; } return count; }