首页 > 其他 > 详细

Solution 28: 整数中1的个数

时间:2015-07-10 11:03:47      阅读:154      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!