大数减法

减法步骤:

    对某一步,比如a-b,比较被减位和减位,如果不够减,就让被减数的高位减1,被减数+10,再进行减位;如果够减,就直接减。
    最后一步要注意减法后高位可能有多余的0,要去除他们,还要保证结果至少有一位数。

减法部分程序:



//高精度a-b bign sub(bign a,bign b) { bign c; //以较长的为界限  for(int i=0;i<a.len||i<b.len ;i++) { if(a.d[i]<b.d[i] ) { //向高位借1  a.d[i+1]--; //当前位加10 a.d[i]+=10; } c.d[c.len++] = a.d[i] - b.d[i]; //减法结果为当前位结果  } while(c.len-1 >=1 && c.d[c.len-1]==0 ) { c.len--; } return c; }