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

二进制中1的个数

2019-11-06 07:35:11
字体:
来源:转载
供稿:网友

问题描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

解析:对于整数在计算机中的存储不太了解的可以查看我的博客:http://blog.csdn.net/QQ_35524916/article/details/52727080

利用 n&(n-1)可以将n中二进制表示的最左边的1变为0。

可以通过计算将1变为0个次数,统计1的个数。

int numberOf1(int n){	int number = 0;	while (n)	{		n &= n-1;		number++;	}		return number;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表