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

题目描述

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
 
代码实现(Java)
 1 public class Solution {
 2 public int  NumberOfOne1(int n) {
 3     int count=0;
 4     int flag=1;
 5     while(flag!=0){
 6         if((flag & n)!=0){
 7             count++;
 8         }
 9         flag=flag<<1;
10     }
11     return count;
12 }
13 
14 public int  NumberOfOne2(int n) {
15     int count=0;
16     while(n!=0){
17         count++;
18         n=(n-1)&n;
19     }
20     return count;
21 }
22 }

猜你喜欢

转载自www.cnblogs.com/wangqiong/p/11761286.html