考研机试 30.进制转换
时间:2021/03/06
一.题目描述
将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。
输入描述
多组数据,每行为一个长度不超过30位的十进制非负整数。 (注意是10进制数字的个数可能有30个,而非30bits的整数)
输出描述
每行输出对应的二进制数。
题目链接
https://www.nowcoder.com/practice/0337e32b1e5543a19fa380e36d9343d7?
tpId=40&tags=&title=&diffculty=0&judgeStatus=0&rp=1&tab=answerKey
二.算法
题解
由于十进制数最多有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)); } } }
努力,向上,自律