c++大整数加法
作者:野牛程序员:2023-06-19 16:19:19C++程序设计阅读 3351
在C++中进行大整数加法可以通过自定义数据结构和算法来实现。以下是一个简单的示例代码:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
// 自定义大整数加法函数
string addBigIntegers(const string& num1, const string& num2) {
string result;
int carry = 0;
int i = num1.length() - 1;
int j = num2.length() - 1;
while (i >= 0 || j >= 0 || carry != 0) {
int digit1 = (i >= 0) ? num1[i] - '0' : 0;
int digit2 = (j >= 0) ? num2[j] - '0' : 0;
int sum = digit1 + digit2 + carry;
carry = sum / 10;
int digit = sum % 10;
result.push_back(digit + '0');
i--;
j--;
}
// 将结果字符串翻转
reverse(result.begin(), result.end());
return result;
}
int main() {
string num1 = "12345678901234567890";
string num2 = "98765432109876543210";
string sum = addBigIntegers(num1, num2);
cout << "Sum: " << sum << endl;
return 0;
}在这个示例中,我们使用了addBigIntegers函数来执行大整数的加法操作。该函数接受两个参数,分别是要相加的两个大整数(以字符串的形式表示)。函数通过逐位相加,并使用一个变量carry来处理进位。最终得到的结果以字符串的形式返回。
在main函数中,我们定义了两个大整数num1和num2,并调用addBigIntegers函数进行相加。最后,我们输出结果。
请注意,该示例只适用于非负的大整数相加。如果需要处理负数或更复杂的大整数操作,可能需要进一步的修改。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:带H还是P的CPU性能好
- 下一篇:c++大整数减法
