首页 > 其他 > 详细

如何利用c返回一个参数中其二进制数中1的个数

时间:2016-03-17 07:12:09      阅读:234      评论:0      收藏:0      [点我收藏+]

#include<stdio.h>

#include<stdlib.h>

int _Count(int n)

{

int arr[30];

int i=0;

int j=0;

int m=0;

while(n)

{

arr[i++]=n%2;

n=n/2;

j++;

}

for(i=0;i<=j;i++)

{

if((arr[i]^1)==0)

m++;

}

return(m);

}

int main()

{

int num;

int count=0;

printf("请输入一个数:");

scanf_s("%d",&num);

count=_Count(num);

printf("count=%d\n",count);

system("pause");

return 0;

}



//这种解法是先将一个十进制的数字转换为二进制的数字并将其保存在一个数组中,然后将数组中的数字与“1”异或,根据“相同为0相异为1”的原则计算出其中1的个数。这种方法简单通俗易懂,更容易理解一些



技术分享

如何利用c返回一个参数中其二进制数中1的个数

原文:http://10969583.blog.51cto.com/10959583/1751950

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