大整数加法
大整数减法
本篇将以上两部分内容结合,使之能够真正计算大整数的加减法。
大整数加法介绍了两个正的大整数相加,大整数减法介绍了两个正的大整数相减。
加法
加法有以下情况,它们都可以转换为以上链接讲述的问题:
- 正 + 正 ,如 1 + 1
- 正 + 负,如 1 + (-1) = 1 - 1
- 负 + 正,如 -1 + 1 = 1 - 1
- 负 + 符,如 -1 + -1 = -(1 + 1)
减法
同理,减法有如下情况:
- 正 - 正,如:1 - 1
- 正 - 负,如1 - (-1) = 1 + 1
- 负 - 正,如 -1 - 1 = -(1 + 1)
- 负 - 负,-1 - (-1) = 1 - 1
根据以上规则,有如下代码:
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
void swap(int a[], int len_a, int b[], int len_b)//交换数组
{
int MAX = max(len_a, len_b);
for (int i = 0; i < MAX; i++)
{
swap(a[i], b[i]);
}
}
void reverseArr(string A, int a[])//逆序存放
{
int len = A.length();
for (in