我用C语言 写一个函数返回参数二进制中 1 的个数的三种不同方法

来源:互联网 发布:java数据库连接池druid 编辑:程序博客网 时间:2024/05/17 09:27

1.#include<stdio.h>int count_one_bits(unsigned int value){         int count=0;         while(value)           {                  if(value&1==1)                          count++;                          value>>=1;           }         return count;}int main (){           int ret=0,num=0;           scanf("%d",&num);           ret=count_one_bits(num);           printf("%d\n",ret);           system("pause");           return 0;}2.#include<stdio.h>int main (){          int num=0;          int ret=0;          scanf("%d",&num);          ret=count_one_bits(num);          printf(" %d\n",ret);          system("pause");          return 0;}int count_one_bits(int n){          int count=0;          while(n)             {                      if(n%2==1)                            {                                          count++;                             }                       n=n/2;             }           return count;}3.#include<stdio.h>int main (){         int num = 0;         int set = 0;         scanf("%d",&num);         set = count_one_bits(num);         printf(" %d\n",set);         system("pause");         return 0;}int count_one_bits( int n ){         int count = 0;         int i = 0;         for(i = 0;i < 32;i++)              {                    if((n >>i )& 1 == 1)                           {                                         count++;                           }               }          return count;}


2 0
原创粉丝点击