判断一个二进制中的1个数

来源:互联网 发布:淘宝官方网站 编辑:程序博客网 时间:2024/05/24 06:45

第二种方法的更好一些

/* Note:Your choice is C IDE */#include "stdio.h"/*一个非负数的二进制有多少个1*/int get_n_1(unsigned int num){int count=0;while(num!=0){if(num&0x1){count++;}num>>=1;}return count;}int get_n_1_v2(unsigned int num){int count=0;while(num){num=num&(num-1);count++;}return count;}void main(){    int num=6;    int ret=get_n_1(num);    printf("ret=%d\n",ret);    ret=get_n_1_v2(num);    printf("in v2 ret=%d\n",ret);}


0 0
原创粉丝点击