Advertisement

高精度算法的大数减法

阅读量:

高精度减法(大数减法)

  • 基本原理:在基础阶段模仿小学减法计算过程,并进行借位和进位操作。
    • 从低位开始采用大数减去小数的方法。
    • 我们在存储数字时采用vector容器配合追加方式实现逆序排列以简化计算过程。

如图所示

在这里插入图片描述

解释

当我们按照图解进行减法运算时,通常会将大数放在上方小数放在下方因此,当我们调用函数时也需要根据A和B的大小关系决定传入参数顺序较大的传入第一个参数较小的传入第二个参数
为了使计算结果正确,我们需要明确当输出结果为负值时需在其前面添加负号符号
对于变量t'初始化为0的原因是因为从低位开始执行减法运算,所以第一位操作不可能出现需要借位的情况 为了实现高效的数值处理我们可以将(t + 10) % 10的结果存储到容器中这种方法能够巧妙地模拟借位过程具体来说如果两数相减的结果小于等于零则可以通过加10来模拟借位的过程否则直接存储该数值本身非常巧妙 如果没有想到上述巧妙方法也可以利用if语句来对t'进行判断然后再存入容器中
由于我们确保了A大于等于B的关系,每次操作中A都会被用于借位处理而B则不一定因此,在执行

全部评论 (0)

还没有任何评论哟~