考研机试 42.进制转换
时间:2021/03/07
一.题目描述
将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。
输入描述
多组数据,每行为一个长度不超过30位的十进制非负整数。
(注意是10进制数字的个数可能有30个,而非30bits的整数)
输出描述
每行输出对应的二进制数。
题目链接
二.算法
题解
由于读入的十进制最多可以到30位,所以要用BigInteger对象进行存储,然后通过toString方法输出为二进制。
代码
import java.util.Scanner; import java.math.BigInteger; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); while(in.hasNext()){ //读取输入 BigInteger num = new BigInteger(in.next()); //转化为二进制 System.out.println(num.toString(2)); } } }
努力,向上,自律