将一个长度最多为30位数字的十进制非负整数转换为二进制数(Java)

package Four;
import java.math.BigInteger;
/*
 * java中有许多数字处理的类,比如有Interger类,但是Integer有一定的局限性
 * Integer是int的包装类,int的最大值为2^31-1 ,但要想描述更大的整数时候Integer
 * 就不够用了,为了应对这一问题,java提供了BigInteger类
 * 
 * BigInteger表述的范围比int,long要大得多,而且还支持任意精度的整数
 * 在运算中BigInteger类型可以准确的表示任何大小的整数值而不会丢失任何信息
 *  这些大数都会以字符串的形式传入
 * */


/*
 * 题目描述
 * 将一个长度最多为30位数字的十进制非负整数转换为二进制数 
 */
import java.util.Scanner;
public class ScaleNumber {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.print("pleaase enter a big number: ");
		while(!scan.hasNext("#")){
			//收入字符#号结束
			//toString(2) 表示转换为2进制
			System.out.println(new BigInteger(scan.next()).toString(2));
		}
	}
}

在这里插入图片描述

你可能感兴趣的:(将一个长度最多为30位数字的十进制非负整数转换为二进制数(Java))