/**
* 利用移位方法获取10进制的二进制的1个数
*
* @param N
* @return
*/
public int getBitNumber(int N) {
N = N - ((N >>> 1) & 0x55555555);//
N = (N & 0x33333333) + ((N >>> 2) & 0x33333333);//
N = (N + (N >>> 4)) & 0x0f0f0f0f;//
N = N + (N >>> 8);
N = N + (N >>> 16);
return N & 0x3f;
}
作者:chengchanglun 发表于2012-4-12 23:20:32
原文链接