首页 > 其他 > 详细

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

时间:2017-06-19 20:42:15      阅读:283      评论:0      收藏:0      [点我收藏+]

输入一个整数,输出该数二进制表示中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的个数。其中负数用补码表示。

原文:http://www.cnblogs.com/olivegyr/p/7050416.html

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