求整数的二进制中,1的个数

    /**
     * 求整数的二进制中,1的个数 (负数也可以) 负数计算方式 正数原码取反码再取补码  就是反码加一叫补码
     * -2 :
     * 原码 0000 0000 0000 0000 0000 0000 0000 0010
     * 反码 1111 1111 1111 1111 1111 1111 1111 1101
     * 补码 1111 1111 1111 1111 1111 1111 1111 1110
     *
     * @param n
     */
    public static void getBitOne(int n) {
        int count = 0;
        while (n != 0) {
            count++;
            n = n & (n - 1);
        }
        System.out.println(count);
    }

你可能感兴趣的:(求整数的二进制中,1的个数)