C++ 大数相加代码示例 - 处理任意长度数字
以下是一个处理大数据相加的C++代码示例:\n\ncpp\n#include \"iostream\"\n#include \"vector\"\n\nusing namespace std;\n\nstring addStrings(string num1, string num2) {\n int carry = 0;\n int i = num1.length() - 1;\n int j = num2.length() - 1;\n vector<char> result;\n \n while (i >= 0 || j >= 0 || carry > 0) {\n int digit1 = (i >= 0) ? num1[i] - '0' : 0;\n int digit2 = (j >= 0) ? num2[j] - '0' : 0;\n int sum = digit1 + digit2 + carry;\n carry = sum / 10;\n result.push_back('0' + sum % 10);\n \n i--;\n j--;\n }\n \n string res;\n for (int k = result.size() - 1; k >= 0; k--) {\n res += result[k];\n }\n \n return res;\n}\n\nint main() {\n string num1 = \"123456789012345678901234567890\";\n string num2 = \"987654321098765432109876543210\";\n \n string sum = addStrings(num1, num2);\n \n cout << sum << endl;\n \n return 0;\n}\n\n\n该代码中的addStrings函数用于将两个大整数字符串相加。它使用了一个result向量来存储相加结果的每一位数字,并最后将向量中的数字转换为字符串返回。在主函数中,我们定义了两个大整数字符串num1和num2,然后调用addStrings函数将它们相加,并将结果打印出来。这个代码可以处理任意长度的大数相加。
原文地址: https://www.cveoy.top/t/topic/pZtP 著作权归作者所有。请勿转载和采集!