用string完成大整数运算
时间: 2023-07-27 19:25:10 浏览: 57
大整数的运算
5星 · 资源好评率100%
可以使用string来完成大整数运算,例如加法、减法、乘法和除法。下面是一个简单的例子,演示了如何使用string实现两个大整数的加法:
```c++
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string a = "123456789";
string b = "987654321";
string c = "";
int carry = 0;
int sum = 0;
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
for (int i = 0; i < a.length() || i < b.length(); i++) {
sum = carry;
if (i < a.length()) {
sum += a[i] - '0';
}
if (i < b.length()) {
sum += b[i] - '0';
}
carry = sum / 10;
sum %= 10;
c += to_string(sum);
}
if (carry) {
c += to_string(carry);
}
reverse(c.begin(), c.end());
cout << c << endl;
return 0;
}
```
上述代码中,首先定义了两个大整数 a 和 b,然后定义了一个空字符串 c 用于存储它们的和。接下来,使用 reverse 函数将 a 和 b 反转,这是为了方便从低位到高位遍历它们。然后,使用 for 循环遍历 a 和 b 的每一位,将对应位相加并加上进位 carry,然后将进位和余数 sum 计算出来,将余数转换为字符并添加到字符串 c 中。最后,如果还有进位,将进位添加到字符串 c 中,然后将字符串 c 再次反转即可得到两个大整数的和。
类似的方法也可以用于实现其他的大整数运算,只需要根据需要修改计算方式即可。
阅读全文