关于BigInteger的构造函数,一般会用到两个:
BigInteger(String val); //将指定字符串转换为十进制表示形式;

BigInteger(String val,int radix); 将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger。
例如val是二进制字符串,想把它转换成十进制的BigInteger,可以这样写:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

String val = "01101";
BigInteger s = new BigInteger(val, 2);

比较大小的时候要用到compareTo

import java.io.*;
import java.util.*;
import java.math.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        BigInteger a, b;
        while(sc.hasNext()) {
            a = sc.nextBigInteger();
            b = sc.nextBigInteger();
            System.out.println(a.add(b));   //大整数加法
            System.out.println(a.subtract(b));  //减法
            System.out.println(a.multiply(b));  //乘法
            System.out.println(a.divide(b));    //除法
            System.out.println(a.remainder(b)); //取模
            
            //大整数的比较
            if(a.compareTo(b) == 0)
                System.out.println("a == b");
            else if(a.compareTo(b) > 0)
                System.out.println("a > b");
            else if(a.compareTo(b) < 0)
                System.out.println("a < b");
            
            //大整数的绝对值
            System.out.println(a.abs());
            
            //计算大整数的幂次方
            int exp = 10;
            System.out.println(a.pow(exp));
            
            //返回大整数十进制的字符串表示
            System.out.println(a.toString());
            
            //返回大整数p进制的字符串表示
            int p = 8;
            System.out.println(a.toString(p));
        }
        sc.close();
    }
}
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄