统计二进制中1的个数

来源:互联网 发布:调查问卷数据分析软件 编辑:程序博客网 时间:2024/05/21 21:37
package test;public class Main {    public static void main(String[] args) {        int n=19;        System.out.println(Integer.toBinaryString(n));        int cnt=0;        while(n!=0){            n=n&(n-1);            cnt++;        }        System.out.println(cnt);    }}

如19:
1. 10011&10010=10010
2. 10010&10001=10000
3. 10000&01111=00000
即每次减少一个1

0 0