进制转换:将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。
import java.util.*;
import java.math.BigInteger;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String str = sc.nextLine();
//将十进制的字符串转换为BigInteger 若第二个参数为10,可省略不写
BigInteger big = new BigInteger(str,10);
System.out.println(big.toString(2));
}
}
}
Integer是Int的包装类,Java中数字处理的类,int的最大值时2^31-1,所有当想存储更大的数时,就不够用了,此时引入了BigInteger类
BigInteger类:
构造方法:
BigInteger big = new BigInteger(str,10);
String str = str;
int radix = 10;
语义:将传入的radix进制的str字符串转化为BigInteger(BigInteger默认是十进制)
toString方法
String str = big.toString(2)
将BigInteger类型的big转换为2进制的字符串(此时radix = 2,也可以为任意进制)
可以看见,运用已经封装好的方法区解一些题是可以提供很大的便利的!