高精度

高精度

快速排序:有了数组 数多了,人多了

高精度:必须 需要数组 数组是实现高精度的最佳功能
(工具):数组 循环

计算机 int类型 不能表示太大的数

C++=> long long类型 可以表示很大的数
但不能表示天文数字
变量无法装载

初级
高精度加法 :高精+高精
高精度减法:高精-高精
高精度乘法:高精*级精

高级
高精度乘法:高精*高精
高精度除法
高精度幂

数组可以无限表示:a[1]个位
a[2]十位

  4567
+9876
---------------
14443

个位要对齐 a[1]和b[1]要对齐 各个位就对齐了
四位数+五位数=至少五位数
a数组长为alen
b数组长为blen
clen=MAX(alen,blen)
if(c[clen+1]>0){clen++;}

c[1]=(a[1]+b[1])%10 进位:c[2]=(a[1]+b[1])/10
c[2]=(c[2]+a[2]+b[2])%10 进位:c[3]=(c[2]+a[2]+b[2])/10
c[3]=(c[3]+a[3]+b[3])%10 进位:c[4]=(c[3]+a[3]+b[3])/10

字符串

14567
- 9876
--------------
  4691


ta[0]~ta[4](ta[len-1])
''12345''
'5'+'6'=11错
('5'-48)+('6'-48)=11对
a[1]=ta[4]'5' ->5 char to int
a[2]=ta[3]-48;
a[3]=ta[2]-48;
a[4]=ta[1]-48;
a[5]=ta[0]-48;

 

 

posted @ 2020-10-14 18:58  Gzznnn  阅读(335)  评论(0编辑  收藏  举报