首页 > 代码库 > 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
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的个数。其中负数用补码表示。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。