首页 > 其他 > 详细

统计一个数的二进制数中有多少个1

时间:2015-11-25 01:12:15      阅读:261      评论:0      收藏:0      [点我收藏+]

解法一:

#include<stdio.h>

#include<stdlib.h>

int count_one_bits(unsigned value)

{

         int ones;


         for (ones = 0; value != 0; value = value >> 1)

        {

                 if (value % 2 != 0)

                {

                        ones = ones + 1;

                }

        }

         return ones;

}

main()

{

         int  a = 1123;

         int ret = 0;

        ret=count_one_bits(a);

        printf( "%d",  ret);


        system( "pause");

         return 0;

}

解法二:

#include<stdio.h>

#include<stdlib.h>

int count_ones_bit(unsigned value)

{

         int ones;

         for (ones = 0; value != 0; value >>=1)

        {

                 if ((value & 1) != 0)

                {

                        ones += 1;

                }

        }

         return ones;

}

int main()

{

         int n1 = 0;

         int ret = 0;

        scanf_s( "%d",&n1);

        ret = count_ones_bit(n1);

        printf( "%d", ret);

        system( "pause");

         return 0;

}


统计一个数的二进制数中有多少个1

原文:http://10796819.blog.51cto.com/10786819/1716550

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!