题目描述:
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
Java实现:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
int input = sc.nextInt();
int output = 0;
while(input != 0) {
/*
if (input % 2 == 1) {
output++;
}
input = input / 2;
*/
if ((input & 1) == 1) {
output++;
}
input = input >> 1;
}
System.out.println(output);
}
}
}知识点:
- 用位运算效率更高,if((input & 1) == 1) 这里需要把&运算括起来,否则后先进行==运算
计算整数二进制位1的数量
本文介绍了一个Java程序,用于计算输入的正整数在二进制表示下1的个数。通过使用位运算提高计算效率,并提供了一种优化的方法来减少不必要的计算步骤。
238

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



