`
shuofenglxy
  • 浏览: 189552 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

求1的个数问题

 
阅读更多

又是一年笔试时,很多学弟们开始笔试了。今天学弟问求一个int数的1个数。

分析:
除法+最后一次取余就能得到了。
或者是移位+与运算
粘一个第二种方法的代码:

public class  getOneCount {

	public static void main(String[]args){
		int n=123;
		getOneCount(n);
	}
	
	public static void getOneCount(int n){
		  int count=0;
		  for(int i=31;i>=0;i--){
			 if(((1<<i)&n)!=0)
				 count++;
		  }
		  System.out.println(count);
		}

}
 

如果是long的话 把左移位数改为63开始就可以  也就是i=63。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics