高精度加法
加法进位原理
##### 高精计算步骤 1. 读入char数组 2. char数组转入int数组存储 3. 倒置进入另一个数组 4. 通过进位原理逐位计算 5. 输出结果高精度减法
原理
- 给出两个数A,B,计算A-B(使用strcpy)
- 如果A<B,交换AB作高精度减法,结果加负号
- 若当前位上A[i]<B[i],向下一位借1,下一位-1,当前位+10
- 计算减法,结果写入c[i]
高精度乘法
设aibj 不难看出,高精度乘法结果所得数组c下标实际上对应i+j-1 两数相乘,得到的积的长度最多为strlen(A) + strlen(B)
C++
for (int i = 1; i <= la; i++)
{
for (int j = 1; j <= lb; j++)
{
c[i + j - 1] += a[i] * b[j];
c[i + j] += c[i + j - 1] / 10;
c[i + j - 1] %= 10;
}
}相当于先把乘出来的第一行加到结果上,再把第二行加回去,得出最终的乘积