首页 > 其他 > 详细

写一个函数返回二进制中1的个数(两种方法)

时间:2020-04-02 14:13:11      阅读:62      评论:0      收藏:0      [点我收藏+]

#include <stdio.h>
#include <stdlib.h>

//写一个函数返回二进制中1的个数(法1:数位遍历)
int countOneNum(int n){
 int i;
 int count = 0;
 for (i = n; i; i /= 2){
  count += i % 2;
 }
 return count;
}
int main(){

 printf("%d\n", countOneNum(1000));
 system("pause");
 return 0;
}

 

 

 

 

#include <stdio.h>
#include <stdlib.h>

//写一个函数返回二进制中1的个数(法2:while)
int countOneNum(int n){
 int count = 0;
 while (n){
  n &= n - 1;
  count++;
 }
 return count;
}
int main(){

 printf("%d\n", countOneNum(1000));
 system("pause");
 return 0;
}

写一个函数返回二进制中1的个数(两种方法)

原文:https://www.cnblogs.com/Leafbud/p/12619089.html

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