首页 > 其他 > 详细

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

时间:2017-07-23 14:01:44      阅读:281      评论:0      收藏:0      [点我收藏+]
public class Solution {
    public int NumberOf1(int n) {
			int index = 1;
		int number = 0;
		
		while(index!=0){
			if((n & index)!=0)
				number++;
			index = index << 1;
		}
		return number;
    }
}

  先上第一种

两种方法。第一种,是用位运算,将1每次左移,和数字进行&运算,如果成功,则返回1.

       第二种,将整数通过方法转换为二进制数,然后统计其中1的数量

第二种

	int number = 0;
		String string = Integer.toBinaryString(n);
		char[] chars = string.toCharArray();
		int i = 0;
		for( ; i < string.length() ; i++){
			if(chars[i]==‘1‘)
				number++;
		}
		
		return number++;

  

 

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

原文:http://www.cnblogs.com/CloudStrife/p/7224374.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!