二进制中1的个数

来源:互联网 发布:js 扇形统计图 插件 编辑:程序博客网 时间:2024/06/06 17:13

二进制中1的个数

吐舌头一.问题描述
输入一个整数,输出该二进制中1的个数,例如整数8二进制表示为1000,有1位是1,如果输入8,则输出1.
微笑二.问题解决(用代码说话)
1.基本解法
int count_one_bits(int num){int count=0;int flag=1;while(flag){ if(num & flag) { count++; } flag<<=1;}return count;}
2.优化解法
int _count_one_bits(int num){int count=0;while(num){++count;num=(num-1)#}return count;}

0 0
原创粉丝点击