高精度常用操作
Posted adelalove
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高精度常用操作相关的知识,希望对你有一定的参考价值。
1 void jia(ll *a,ll *b) //加法 2 { 3 tmp[0]=max(a[0],b[0]); 4 tx=0; 5 for(ll i=1;i<=tmp[0]+3;++i) tmp[i]=0; 6 for(ll i=1;i<=tmp[0];++i) 7 { 8 tmp[i]=(tx+a[i]+b[i])%10; 9 tx=(tx+a[i]+b[i])/10; 10 } 11 if(tx) 12 { 13 tmp[0]++; 14 tmp[tmp[0]]=tx; 15 } 16 while(tmp[tmp[0]]==0&&tmp[0]>1) tmp[0]--; 17 for(int i=0;i<=tmp[0];++i) a[i]=tmp[i]; 18 } 19 void jian(ll *a,ll *b)//减法 20 { 21 tmp[0]=max(a[0],b[0]); 22 tx=0; 23 for(ll i=1;i<=tmp[0]+3;++i) tmp[i]=0; 24 for(ll i=1;i<=tmp[0];++i) 25 { 26 tmp[i]=a[i]-b[i]+tx; 27 if(tmp[i]<0) 28 { 29 tmp[i]+=10;tx=-1; 30 }else tx=0; 31 } 32 while(tmp[tmp[0]]==0&&tmp[0]>1) tmp[0]--; 33 for(int i=0;i<=tmp[0];++i) a[i]=tmp[i]; 34 }
此为倒序:
例子:in:120098
a:123456
890021
以上是关于高精度常用操作的主要内容,如果未能解决你的问题,请参考以下文章