一个数的二进制形式中有多少个1

package com.harrison.Class01;

public class Code09_BitOneCounts {
    
    
	public static int bit1Counts(int n) {
    
    
		int count=0;
		while(n!=0) {
    
    
			int rightOne=n&((~n)+1);
			count++;
			n^=rightOne;
		}
		return count;
	}
	
	public static void main(String[] args) {
    
    
		int n=171;//10101011
		System.out.println(bit1Counts(n));
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_44337241/article/details/121478088