可以用到BigInteger
导包: import java.math.BigInteger;
public class Solution {
public int Add(int num1,int num2) {
BigInteger a=BigInteger.valueOf(num1);
BigInteger b=BigInteger.valueOf(num2);
return a.add(b).intValue();
}
}
定义:
BigInteger a=new BigInteger("1");//参数是String类型
BigInteger b=BigInteger.valueOf(1);
BigInteger a=new BigInteger(String.valueof(int b));
求和:BigInteger add(BigInteger val) 返回两个大整数的和
求差:BigInteger subtract(BigInteger val) 返回两个大整数的差
求积:BigInteger multiply(BigInteger val) 返回两个大整数的积
求商:BigInteger divide(BigInteger val) 返回两个大整数的商
求模:BigInteger mod(BigInteger val) 用当前大整数对val求模
求乘方:BigInteger pow(int exponent) 返回当前大整数的exponent次方
求余:BigInteger remainder(BigInteger val) 返回当前大整数除以val的余数
类型转换:
double doubleValue() 返回大整数的double类型的值
float floatValue() 返回大整数的float类型的值
long longValue() 返回大整数的long型值
int intValue() 返回大整数的整型值
其它:
BigInteger abs() 返回大整数的绝对值
BigInteger gcd(BigInteger val) 返回大整数的最大公约数
BigInteger max(BigInteger val) 返回两个大整数的最大者
BigInteger min(BigInteger val) 返回两个大整数的最小者
byte[] toByteArray(BigInteger val)将大整数转换成二进制反码保存在byte数组中
转换为String的方法:
①(String):强行转换易出错
②.toString():
(1)基本上都能用,但是int型不行(内部没有封装)
(2)当参数为空的时候会有空指针异常
③String.valueOf():最稳的操作!