不用biginteger实现高精度加法
时间: 2023-03-22 07:01:52 浏览: 113
可以通过字符串模拟实现高精度加法。具体实现方法为:
1. 将两个加数转换成字符串,并将它们补齐到相同的位数,不足的位数用 0 补齐。
2. 从低位到高位逐位相加,并将结果存储在新的字符串中。注意,如果某一位相加后超过了 10,需要向高位进位。
3. 最后,将得到的结果字符串反转,并去掉前导的 0,即可得到最终的结果。
下面是一个简单的实现示例(假设输入的两个数均为非负整数):
```
public static String add(String num1, String num2) {
int len1 = num1.length(), len2 = num2.length();
StringBuilder sb = new StringBuilder();
int carry = 0;
for (int i = 0; i < Math.max(len1, len2); i++) {
int digit1 = i < len1 ? num1.charAt(len1 - i - 1) - '0' : 0;
int digit2 = i < len2 ? num2.charAt(len2 - i - 1) - '0' : 0;
int sum = digit1 + digit2 + carry;
carry = sum / 10;
sb.append(sum % 10);
}
if (carry > 0) {
sb.append(carry);
}
return sb.reverse().toString();
}
```
阅读全文
相关推荐
















