前言:
描述作者:神的孩子在歌唱
大家好,我叫运智
二进制是计算机学科中广泛应用的一种数制, 用0和1两个数码来表示数字, 进位规则为"逢二进一"
将一个十进制数字转换为二进制数字的方法如下:
用2整除十进制整数, 可以得到一个商和余数, 再用2去除商, 又会得到一个商和余数, 如此进行, 直到商为小于1时为止, 然后把先得到的余数作为二进制的低位有效位, 后得到的余数作为二进制的高位有效位, 依次排列起来
以13举例, 十进制13 = 二进制1101
13 ÷ 2 = 6 … 1
6 ÷ 2 = 3 … 0
3 ÷ 2 = 1 … 1
1 ÷ 2 = 0 … 1
给你一个十进制下的非负整数, 不包含前导零, 你需要统计出这个数字在二进制中数码"1"出现的次数
格式 输入格式输入仅包含一个非负十进制整数n (0≤n≤1015), 含义如题面所述
输出格式输出一个非负整数, 含义如题面所述
样例 输入样例13输出样例
3限制
时间限制: 1000 ms
内存限制: 65536 KB
package 百度算法;
import java.util.Scanner;
public class _P1047_二进制 {
public static void main(String args[]) {
Scanner st=new Scanner(System.in);
Long i=st.nextLong();
int sum=0;
while(i>0) {
if (i%2==1) {
sum++;
}
i=i>>1;
}
System.out.print(sum);
}
}
本人csdn博客:https://blog.csdn.net/weixin_46654114
转载说明:跟我说明,务必注明来源,附带本人博客连接。



