怎么用C + +编高精度加法
时间: 2023-07-08 12:18:18 浏览: 83
高精度加法可以使用字符串来表示两个大数,然后逐位相加并考虑进位的方式来实现。以下是一个使用C++实现高精度加法的示例代码:
```c++
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
string add(string a, string b) {
string res;
int carry = 0; // 进位
int i = a.size() - 1, j = b.size() - 1;
while(i >= 0 || j >= 0 || carry != 0) {
int sum = carry;
if(i >= 0) sum += a[i--] - '0';
if(j >= 0) sum += b[j--] - '0';
carry = sum / 10; // 计算进位
res += sum % 10 + '0'; // 计算当前位的结果
}
reverse(res.begin(), res.end()); // 翻转字符串
return res;
}
int main() {
string a, b;
cin >> a >> b;
cout << add(a, b) << endl;
return 0;
}
```
这段代码中,使用字符串来表示高精度数,并且从字符串的末尾开始逐位相加,考虑进位。最后需要将结果字符串翻转得到最终的结果。
阅读全文