[高精度算法]高精度算法

Posted SmallDolphin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[高精度算法]高精度算法相关的知识,希望对你有一定的参考价值。

高精度加法第三次学习...内容自己理解吧

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 using namespace std;
 5 #define MAXLEN 110
 6 int main(){
 7     char a1[MAXLEN],b1[MAXLEN];//输入的原始加数字符串
 8     int a[MAXLEN],b[MAXLEN],c[MAXLEN],lena,lenb,lenc,x;//分别存储两个加数,结果,加数的结果的长度和进位 
 9     memset(a,0,sizeof(a));
10     memset(b,0,sizeof(b));
11     memset(c,0,sizeof(c));//初始化
12     scanf("%s%s",a1,b1);
13     lena = strlen(a1); 
14     lenb = strlen(b1);//计算两个字符串的长度
15     for(int i=0;i <= lena - 1;i++)
16         a[lena -i]=a1[i] -0;//加数放入a数组 
17     for(int i = 0;i <= lenb - 1;i++)
18         b[lenb - i]=b1[i] - 0;//加数放入b数组
19     lenc = 1;
20     x = 0;
21     while(lenc <= lena || lenc<= lenb){
22         c[lenc] = a[lenc] + b[lenc] +x;//两数相加 
23         x = c[lenc] / 10;                //计算进位 
24         c[lenc] %= 10;                    //本位保留的数 
25         lenc++;
26     } 
27     c[lenc] = x;
28     if(c[lenc] == 0)
29         lenc--;//处理最高进位 
30     for(int i = lenc; i>=1; i--)
31         cout << c[i];//输出结果
32     cout<<endl;
33     return 0; 
34 }

 

以上是关于[高精度算法]高精度算法的主要内容,如果未能解决你的问题,请参考以下文章

从零开始的算法学习生活——①高精度运算

从零开始的算法学习生活——①高精度运算

高精度算法—减法篇

从零开始的算法学习生活——①高精度运算

从零开始的算法学习生活——①高精度运算

加速图像处理的神器: INTEL ISPC编译器 迁移图像旋转算法 - 从C代码双精度到 ISPC双精度