又是一年笔试时,很多学弟们开始笔试了。今天学弟问求一个int数的1个数。
分析:
除法+最后一次取余就能得到了。
或者是移位+与运算
粘一个第二种方法的代码:
public class getOneCount {
public static void main(String[]args){
int n=123;
getOneCount(n);
}
public static void getOneCount(int n){
int count=0;
for(int i=31;i>=0;i--){
if(((1<<i)&n)!=0)
count++;
}
System.out.println(count);
}
}
如果是long的话 把左移位数改为63开始就可以 也就是i=63。
本文介绍了一种通过位运算计算整数中二进制表示中1的数量的方法,并提供了Java实现代码示例。同时讨论了针对不同数据类型(如int和long)的调整方式。

被折叠的 条评论
为什么被折叠?



