Java中超大整数的运算以及比较
使用BigInteger类来存储超大型的整数
创建一个BigInteger的对象
BigInteger a=new BigInteger("0");
public class BigInteger extends Number implements Comparable
常用方法有:
import java.math.BigInteger;
public class NumberInfinite2 {
public static void main(String[] args) {
BigInteger a = new BigInteger("3");
BigInteger b = new BigInteger("2");
BigInteger c = new BigInteger("-10");
//加法
getAdd(a,b);
//减法
getSubtract(a,b);
//乘法
getMultiply(a,b);
//除法
getDivide(a,b);
//异或
getXor(a,b);
//开方
getPow(a,3);
//返回绝对值
getAbs(c);
//比较两个数大小,a大则返回1,一样大返回0,b大返回-1
getcompare(a,b);
}
public static void getAdd(BigInteger a, BigInteger b) {
System.out.println(a.add(b));//加法
}
public static void getSubtract(BigInteger a, BigInteger b) {
System.out.println(a.subtract(b));//减法
}
public static void getMultiply(BigInteger a, BigInteger b) {
System.out.println(a.multiply(b));//乘法
}
public static void getDivide(BigInteger a, BigInteger b) {
System.out.println(a.divide(b));//除法
}
public static void getXor(BigInteger a, BigInteger b) {
System.out.println(a.xor(b));//异或
}
public static void getPow(BigInteger a,int extend) {
System.out.println(a.pow(extend));//括号中填写要多少次幂
}
public static void getAbs(BigInteger a) {
System.out.println(a.abs());//返回绝对值
}
public static void getcompare(BigInteger a, BigInteger b) {
System.out.println(a.compareTo(b));//比较两个数大小,a大则返回1,一样大返回0,b大返回-1
}
}