之前接触过的大数加法和乘法都需要自己定义,其实java已经有自带的处理大数的类,java.math.BigInteger就是其中之一。直接放代码,当然还有其他用法,这里只是为了举例子简单的示范一下:
import java.math.BigInteger;
public class Demo10 {
public static void main(String[] args) {
BigInteger bigInteger = new BigInteger("33333333333333333333333333");
BigInteger bigInteger1 = new BigInteger("111111111");
String he = bigInteger.add(bigInteger1).toString();
String cha = bigInteger.subtract(bigInteger1).toString();
String ji = bigInteger.multiply(bigInteger1).toString();
String shang = bigInteger.divide(bigInteger1).toString();
System.out.println(he);
System.out.println(cha);
System.out.println(ji);
System.out.println(shang);
}
}
再列出BigInteger的其他方法:
BigInteger abs() 返回大整数的绝对值
BigInteger add(BigInteger val) 返回两个大整数的和
BigInteger and(BigInteger val) 返回两个大整数的按位与的结果
BigInteger andNot(BigInteger val) 返回两个大整数与非的结果
BigInteger divide(BigInteger val) 返回两个大整数的商
double doubleValue() 返回大整数的double类型的值
float floatValue() 返回大整数的float类型的值
BigInteger gcd(BigInteger val) 返回大整数的最大公约数
int intValue() 返回大整数的整型值
long longValue() 返回大整数的long型值
BigInteger max(BigInteger val) 返回两个大整数的最大者
BigInteger min(BigInteger val) 返回两个大整数的最小者
BigInteger mod(BigInteger val) 用当前大整数对val求模
BigInteger multiply(BigInteger val) 返回两个大整数的积
BigInteger negate() 返回当前大整数的相反数
BigInteger not() 返回当前大整数的非
BigInteger or(BigInteger val) 返回两个大整数的按位或
BigInteger pow(int exponent) 返回当前大整数的exponent次方
BigInteger remainder(BigInteger val) 返回当前大整数除以val的余数
BigInteger leftShift(int n) 将当前大整数左移n位后返回
BigInteger rightShift(int n) 将当前大整数右移n位后返回
BigInteger subtract(BigInteger val)返回两个大整数相减的结果
byte[] toByteArray(BigInteger val)将大整数转换成二进制反码保存在byte数组中
String toString() 将当前大整数转换成十进制的字符串形式
BigInteger xor(BigInteger val) 返回两个大整数的异或
本文详细介绍了Java中处理大数运算的BigInteger类的使用方法,包括加法、减法、乘法、除法等基本运算,以及绝对值、最大公约数、转换为不同数值类型等高级功能。
3453

被折叠的 条评论
为什么被折叠?



