首页 > 代码库 > 22、输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
22、输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
思路:
n &(n-1)把n的最右边的1去掉,用count++计算1的个数
eg:
101 & 100 = 100
1 class Solution { 2 public: 3 int NumberOf1(int n) { 4 int count = 0; 5 while(n!=0){ 6 count++; 7 n = n&(n-1); 8 } 9 10 return count; 11 } 12 };
22、输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。