题目描述

输入一个整数,输出该数二进制表示中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 }

 

posted on 2020-06-04 23:22  MoonBeautiful  阅读(147)  评论(0编辑  收藏  举报