• 1.摘要
  • 2.基本信息
  • 3.基本内容

高精度减法

高精度减法和高精度加法相比,减法在差为负数时处理的细节更多一点。

基本信息

  • 中文名

    高精度减法

  • 细节

    判断被减数与减数的大小

  • 相比

    高精度加法

  • 算法流程

    读入被减数S1S2

基本内容

高精度减法

1、和高精度加法相比,减法在差为负数时处理的细节更多一点:当被减数小于减数时,差为负数,差的绝对值是减数减去被减数;在程序实现上用一个变量来存储符号位,用另一个数组存差的绝对值。

2、算法流程:

(1)读入被减数S1,S2(字符串);

(2)置符号位:判断被减数是否大于减数:大则将符号位置为空;小则将符号位置为“-”,交换减数与被减数;

(3)被减数与减数处理成数值,放在数组中;

(4)运算:

A、取数;

B、判断是否需要借位;

C、减,将运算结果放到差数组相应位中;

D、判断是否运算完成:是,转5;不是,转A;

(5)打印结果:符号位,第1位,循环处理第2到最后一位;

3、细节:

▲如何判断被减数与减数的大小:字符串知识

①(1)首先将两个字符串的位数补成一样(因为字符串的比较是从左边对齐的;两个字符串一样长才能真正地比较出大小):短的在左边补0

k1:=length(s1);

k2:=length(s2);

if k1>k2 then for i:=1 to k1-k2 do s2:='0'+s2