本文提供給剛入坑的新手ios
關於高精度的計算網上百度一下能夠了解到許多數組
今天我分享的只是一些本身的心得,更詳細的能夠去看原博主的原創文章(https://blog.csdn.net/fanyun_01/article/details/79967170),在閱讀完以後能夠來我這文章食用。spa
注意事項:.net
1.由於超出了普通儲存數據的範圍,因此經過以字符的形式輸入到數組當中。blog
2.儲存是將字符串從後往前儲存到數組當中的。ci
下面是源碼,我是在老樊Lu碼的原創源碼上加以修改的:字符串
#include<iostream>源碼
#include<cstring>string
using namespace std;io
int main()
{
string str1,str2;
int i;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
cin>>str1>>str2; //輸入兩個字符串
a[0]=str1.length(); //取得第一個字符串的長度
a[i]=str1[a[0]-i]-'0'; //將第一個字符串中數據倒着輸入到數組當中並用-'0'使其指向字符串中第一個字符
b[0]=str2.length(); //取得第二個字符串長度
for(i=1;i<=b[0];i++) //把第二個字符串中的每一位轉換爲整數,存放在數組B中
b[i]=str2[b[0]-i]-'0';
len=(a[0]>b[0]?a[0]:b[0]); //取兩個字符串最大的長度
for(i=1;i<=len;i++) //作按位加法,同時處理進位
{
a[i]+=b[i];
cout<<"這是第 "<<i<<" 的值,此時a[i]= " <<a[i]; //在循環裏面我決定使其更可視化,更能理解,因而加入了輸出語句
a[i+1]+=a[i]/10;
cout<<"這是第 "<<i+1<<" 的值,此時a[i]= " <<a[i+1];
a[i]%=10;
cout<<"這是第 "<<i<<" 的值,此時a[i]= " <<a[i]<<"\n";
}
len++; //下面是去掉最高位的0,而後輸出。
while((a[len]==0)&&(len>1)) len--;
for(i=len;i>=1;i--)
cout<<a[i];
return 0;
以上就是源碼了雖然更改不大,可是我以爲加入輸出是對新手來講頗有必有的。