您的位置:首页 > 其它

华为OJ 输入一个int型数据,计算出该int型数据在内存中存储时1的个数

2014-12-13 21:47 204 查看
题目:


方法1:
package int存储时1的个数;

import java.util.Scanner;

public class Main {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int num = input.nextInt();
System.out.println(getCount(num));
}
public static int getCount(int num){
int count=0;
while(num!=0){
num &=(num-1);
count++;
}
return count;
}

}
方法2:
package int存储时1的个数;

import java.util.Scanner;

public class Main2 {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int num = input.nextInt();
System.out.println(getCount(num));
}
public static int getCount(int num){
int count=0;
int flag=1;
while(flag!=0){
if((num&flag)!=0){
count++;
}
flag=flag<<1;
}
return count;
}
}
程序参考了博客:http://blog.csdn.net/litton_van/article/details/6656717
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐