java问题,不懂,求大神指教,问题如下:
17.(循环,操作符)**一个int类型的整数由32个二进制位组成,每个二进制位的值要么为0要么为1。要求读入一个int类型的整数n,计算它的32个二进制位中总共有多少位...
17.(循环,操作符)**一个int类型的整数由32个二进制位组成,每个二进
制位的值要么为0要么为1。要求读入一个int类型的整数n,计算它的32个二
进制位中总共有多少位为1?
(java编程,没有思路) 展开
制位的值要么为0要么为1。要求读入一个int类型的整数n,计算它的32个二
进制位中总共有多少位为1?
(java编程,没有思路) 展开
1个回答
展开全部
提示:
①十进制转二进制的算法,除以2取其余数,即为2进制数的当前数位。(这个算法如果不懂,我就帮不了你了)
——图摘自百度图片
②循环求对应数码,并统计,当除以2得余数1的次数ans
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int ans = 0;
while(num>0) {
if(num%2 == 1) {
ans++;
}
num /= 2;
}
System.out.print(ans);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |