码迷,mamicode.com
首页 > 其他好文 > 详细

剑指Offer08 二进制中1的个数

时间:2016-08-29 22:08:46      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

 1 /*************************************************************************
 2     > File Name: 08_NumOf1InBinary.c
 3     > Author: Juntaran
 4     > Mail: JuntaranMail@gmail.com
 5     > Created Time: 2016年08月29日 星期一 20时40分15秒
 6  ************************************************************************/
 7 
 8 #include <stdio.h>
 9  
10 int NumberOf1_1(int n)
11 {
12     int count = 0;
13     int flag = 1;
14     while (flag < n)
15     {
16         if (n & flag)
17             count ++;
18         flag = flag << 1;
19     }
20     return count;
21 }
22 
23 int NumberOf1_2(int n)
24 {
25     int count = 0;
26     while (n)
27     {
28         ++ count;
29         n = (n - 1) & n;
30     }
31     return count;
32 }
33 
34 int main()
35 {
36     int ret1 = 0;
37     int ret2 = 0;
38     
39     int n = 5;
40     ret1 = NumberOf1_1(n);
41     ret2 = NumberOf1_2(n);
42     printf("ret1 is %d\n", ret1);
43     printf("ret2 is %d\n", ret2);
44 }

 

剑指Offer08 二进制中1的个数

标签:

原文地址:http://www.cnblogs.com/Juntaran/p/5819619.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!