问题描述:输入一个整数,输出该数二进制表示中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;}
新闻热点
疑难解答