c++大整数加法
作者:野牛程序员:2023-06-19 16:19:19C++程序设计阅读 2961
在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++大整数减法