java封装大整数类型计算的工具类(加减乘除运算)
时间: 2023-05-24 08:04:33 浏览: 350
以下是一个Java封装大整数类型计算的工具类,支持加减乘除运算:
```
import java.math.BigInteger;
public class BigNumUtil {
/**
* 加法运算
* @param num1 第一个大整数
* @param num2 第二个大整数
* @return 两个大整数的和
*/
public static String add(String num1, String num2) {
// 将字符串转换为BigInteger类型,并进行加法运算
BigInteger bigNum1 = new BigInteger(num1);
BigInteger bigNum2 = new BigInteger(num2);
BigInteger result = bigNum1.add(bigNum2);
return result.toString();
}
/**
* 减法运算
* @param num1 被减数
* @param num2 减数
* @return 两个大整数的差
*/
public static String subtract(String num1, String num2) {
// 将字符串转换为BigInteger类型,并进行减法运算
BigInteger bigNum1 = new BigInteger(num1);
BigInteger bigNum2 = new BigInteger(num2);
BigInteger result = bigNum1.subtract(bigNum2);
return result.toString();
}
/**
* 乘法运算
* @param num1 第一个大整数
* @param num2 第二个大整数
* @return 两个大整数的积
*/
public static String multiply(String num1, String num2) {
// 将字符串转换为BigInteger类型,并进行乘法运算
BigInteger bigNum1 = new BigInteger(num1);
BigInteger bigNum2 = new BigInteger(num2);
BigInteger result = bigNum1.multiply(bigNum2);
return result.toString();
}
/**
* 除法运算
* @param num1 被除数
* @param num2 除数
* @return 两个大整数的商
*/
public static String divide(String num1, String num2) {
// 将字符串转换为BigInteger类型,并进行除法运算
BigInteger bigNum1 = new BigInteger(num1);
BigInteger bigNum2 = new BigInteger(num2);
BigInteger result = bigNum1.divide(bigNum2);
return result.toString();
}
}
```
使用示例:
```
public class Test {
public static void main(String[] args) {
String num1 = "12345678901234567890";
String num2 = "98765432109876543210";
System.out.println(BigNumUtil.add(num1, num2)); // 111111111111111111100
System.out.println(BigNumUtil.subtract(num1, num2)); // -86419753208641975320
System.out.println(BigNumUtil.multiply(num1, num2)); // 1219326311370217951367253019726675650416900
System.out.println(BigNumUtil.divide(num1, "3")); // 4115226300411526300
}
}
```
阅读全文