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

Posted MoonBeautiful

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer-二进制中1的个数相关的知识,希望对你有一定的参考价值。

 

 

题目描述

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

 

关键点:

记住这几个方法。^ ^

 

 1 public class Solution {
 2     public int NumberOf1(int n) {
 3         //每次消掉二进制上最低位的1
 4         int count =0 ;
 5         while(n != 0){
 6             n &=n-1;
 7             count++;
 8         }
 9         return count;
10         //判断二进制每个位置上是不是1
11         /*
12         int count = 0;
13         int flag = 1;
14         while(flag != 0){
15             if((n&flag)== flag){
16                 count++;
17             }
18             flag<<=1;
19         }
20         return count;
21         */
22     }
23 }

 

以上是关于剑指offer-二进制中1的个数的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer面试题 15. 二进制中 1 的个数

剑指offer 二进制中1的个数

剑指Offer-Java-二进制中1的个数

剑指Offer-Java-二进制中1的个数

剑指offer11二进制中1的个数

剑指offer第十一题:二进制中1的个数