BigInteger 的数据范围远大于int,long。用于应对大的数据。
输入方法
nextBigInteger():控制台读入一个BigInteger型数据,类似于int型的nextInt();
//读入方法:nextBigInteger()
@Test
public void test5() {
Scanner scan = new Scanner(System.in); // 读入
int n = scan.nextInt(); // 读入一个int;
BigInteger m = scan.nextBigInteger(); // 读入一个BigInteger;
while(scan.hasNext()){
System.out.print("scan.hasNext()=" + scan.hasNext());
}
}
构造方法
默认为十进制,也是我们最常用的,同时也支持自定义进制类型(已存在的);
//进制转换
@Test
public void testScale() {
//在构造将函数时,把radix进制的字符串转化为BigInteger
String str = "1011100111";
int radix = 2;
BigInteger interNum1 = new BigInteger(str,radix); //743
//我们通常不写,则是默认成10进制转换,如下:
BigInteger interNum2 = new BigInteger(str); //1011100111
BigInteger ans=BigInteger.valueOf(1232);
}
基本运算
返回值为BigInteger类型:add(),subtract(),multiply(),divide(),mod(),remainder(),pow(),abs(),negate();
//基本运算:add(),subtract(),multiply(),divide(),mod(),remainder(),pow(),abs(),negate()
@Test
public void testBasic() {
BigInteger a = new BigInteger("13");
BigInteger b = new BigInteger("4");
int n = 3;
//1.加
BigInteger bigNum1 = a.add(b); //17
//2.减
BigInteger bigNum2 = a.subtract(b); //9
//3.乘
BigInteger bigNum3 = a.multiply(b); //52
//4.除
BigInteger bigNum4 = a.divide(b);