关键词
-
import java.math.BigInteger;
-
BigInteger big_number_0=new BigInteger(“A”);
A为大数的值,可以是Integer类范围内或外的数。 -
方法相关(A为前面定义的大数)
big_number_0.add(new BigInteger(“b”)) ···········加法,A加b
big_number_0.subtract(new BigInteger(“b”)) ····减法,A减b
big_number_0.multiply(new BigInteger(“c”)) ·····乘法,A乘c
big_number_0.divide(new BigInteger(“d”)) ········除法,A除d
big_number_0.remainder(new BigInteger(“f”)) ···取余,A除f的余数
big_number_0.negate() ·································取相反数
big_number_0.pow(g) ··································取A的g次方 -
subtract(减去) multiply(乘) divide(除)
remainder(余数) negate(相反数)
相关说明
大数的运算也属于普通的加减乘除一类。针对与Integer范围外的运算,因为我们知道Integer的最大值可取为2的31次方减1,即2147483647。当超过Integer的最大值时的运算就需要大数的运算了。另外,Integer范围内的运算也可以用大数运算的方法。
源码
import java.math.BigInteger;
class Demo{
public static void main(String[] args){
BigInteger big_number_0=new BigInteger("12345120000"); //实例化一个大数字
//这里把12345123456名为A
System.out.println("把12345120000当成A");
//A+32的结果
System.out.println("A+32的结果:"+big_number_0.add(new BigInteger("32")));
//A-32的结果
System.out.println("A-32的结果:"+big_number_0.subtract(new BigInteger("32")));
//A*2的结果
System.out.println("A*2的结果:"+big_number_0.multiply(new BigInteger("2")));
//A/2的结果
System.out.println("A/2的结果:"+big_number_0.divide(new BigInteger("2")));
//A/8的余数
System.out.println("A/8的余数:"+big_number_0.remainder(new BigInteger("8")));
//A/7的余数
System.out.println("A/7的余数:"+big_number_0.remainder(new BigInteger("7")));
//取A的相反数
System.out.println("A的相反数:"+big_number_0.negate());
//A的3次方
System.out.println("A的3次方:"+big_number_0.pow(3));
}
}