首页 > 学院 > 开发设计 > 正文

求一个数的二进制中1的个数

2019-11-06 08:44:18
字体:
来源:转载
供稿:网友
第一种解法:int NumberOf1(int n){int count=0;unsigned int flag=1;while(flag){if(n & flag)  和1与运算计算结果为1表示二进制为1count++;flag=flag<<1;}return count;}

第二种解法:

int qNumberOf1(int n){

int count=0;while(n){++count;n=(n-1)&n;  //一个数减去1再与它本身等于将这个数的最右边的1变为0; 求出这个次数即可}return count;}//求一个数的二进制中1的个数
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表