求一个给定的数对应二进制数里有多少个1
2012-05-18 19:06 javaspring 阅读(1071) 评论(0) 编辑 收藏 举报public class Test {
public static void main(String[] args) {
int count=0;int m=17;
while(m!=0)
{
m=m&(m-1);
count++;
}
System.out.println(count);
}
}
这里面有一个就是求与运算,0&0=0;1&0=0;1&1=1;一个数减一之后,,再与自己求与的话结果只会减少一个一,这就是本算法的精华。