剑指offer--二进制中1的个数

来源:互联网 发布:sharpdesk软件下载 编辑:程序博客网 时间:2024/06/08 07:47

题目描述

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

分类:数学

解法1:对于某个数n,n与(n-1)取与运算,可以消除最后一个1
[java] view plain copy
  1. public class Solution {  
  2.     public int NumberOf1(int n) {  
  3.         int count = 0;  
  4.         while(n!=0){     
  5.             n=(n&(n-1));  
  6.             count++;  
  7.         }  
  8.         return count;  
  9.     }  


原文链接  http://blog.csdn.net/crazy__chen/article/details/44986501

原创粉丝点击