二进制中1的个数

来源:互联网 发布:cad软件哪个好 编辑:程序博客网 时间:2024/06/07 03:48

题目描述

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

分类:数学

解法1:对于某个数n,n与(n-1)取与运算,可以消除最后一个1

public class Solution {      public int NumberOf1(int n) {          int count = 0;          while(n!=0){                 n=(n&(n-1));              count++;          }          return count;      }  }  
int BitCount1(unsigned int n){    unsigned int c =0 ; // 计数器    for (c =0; n; n >>=1) // 循环移位        c += n &1 ; // 如果当前位是1,则计数器加1    return c ;}



0 0
原创粉丝点击