Skip to content

高精度加法

加法进位原理
##### 高精计算步骤 1. 读入char数组 2. char数组转入int数组存储 3. 倒置进入另一个数组 4. 通过进位原理逐位计算 5. 输出结果

高精度减法

原理
  1. 给出两个数A,B,计算A-B(使用strcpy)
  2. 如果A<B,交换AB作高精度减法,结果加负号
  3. 若当前位上A[i]<B[i],向下一位借1,下一位-1,当前位+10
  4. 计算减法,结果写入c[i]

高精度乘法

200 设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;
    }
}

相当于先把乘出来的第一行加到结果上,再把第二行加回去,得出最终的乘积

高精度除法

除低精度
除高精度