首页 > 代码库 > 剑指Offer08 二进制中1的个数
剑指Offer08 二进制中1的个数
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的个数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。