码迷,mamicode.com
首页 > 其他好文 > 详细

Solution 28: 整数中1的个数

时间:2015-07-10 11:05:50      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:

问题描述

输入1个整数,求其二进制表示中有多少个“1”。

 

解决思路

1. 不断右移,碰到1与0与,计数;(对于负数不可,会死循环);

2. 与(n-1)与,相当于清除最右端的“1”,计数。

 

程序

思路2:

public class NumOfOne {
	public int getNumOfOne(int num) {
		int count = 0;
		while (num != 0) {
			num = num & (num - 1);
			++count;
		}
		return count;
	}
}

  

Solution 28: 整数中1的个数

标签:

原文地址:http://www.cnblogs.com/harrygogo/p/4634952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!