11.二进制中一的个数——剑指offer

题目描述

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
class Solution {
public:
     int  NumberOf1(int n) {
         int count=0;
         for(int i=0;i<32;i++){
            if(n>>i&1)  
                count++;  
         }
         return count;
     }
};
class Solution {
public:
     int  NumberOf1(int n) {
         int count=0;
         for(int i=sizeof(int)*8-1;i>=0;--i)
         {
             if((n>>i)&1)
                 ++count;
         }
         return count;
     }
};

 

posted @ 2019-05-11 23:28  unique_ptr  阅读(76)  评论(0编辑  收藏  举报