加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

高精度加法

发布时间:2020-12-14 04:27:25 所属栏目:大数据 来源:网络整理
导读:1 /* 2 高精度加法 3 结构体初始化 4 重载赋值符号 加号 5 定义输出字符串函数用于输出流 6 重载输入输出流 7 */ 8 #includebits/stdc++.h 9 using namespace std; 10 const int maxn= 10000 ; 11 struct bign{ 12 int d[maxn],len; 13 inline bign(){len= 1
 1 /*
 2     高精度加法
 3     结构体初始化 
 4     重载赋值符号 加号
 5     定义输出字符串函数用于输出流
 6     重载输入输出流 
 7 */
 8 #include<bits/stdc++.h>
 9 using namespace std;
10 const int maxn=10000;
11 struct bign{
12     int d[maxn],len;
13     inline bign(){len=1;memset(d,0,sizeof(d));};
14     inline bign operator = (const char* num)
15     {
16         memset(d,sizeof(d));
17         len=strlen(num);
18         for(int i=0;i<len;i++) d[i]=num[len-i-1]-48;
19         return *this;
20     }
21     inline bign operator + (const bign &b)
22     {
23         int x=0,i,lenmax=max(len,b.len);
24         bign c;c.len=lenmax;
25         for(i=0;i<lenmax;i++)
26         {
27             c.d[i]=d[i]+x+b.d[i];
28             x=c.d[i]/10;
29             c.d[i]%=10;
30         }
31         x?c.d[i]=x:i--;
32         c.len=i+1;
33         return c;
34     }
35     inline string str() const
36     {
37         char s[maxn]={};
38         for(int i=0;i<len;i++) s[len-i-1]=d[i]+48;
39         return s;
40     }
41 }a,b;
42 inline istream& operator >> (istream &in,bign &x)
43 {
44     string s;
45     in>>s;
46     x=s.c_str();
47     return in; 
48 }
49 inline ostream& operator << (ostream &out,const bign &x)
50 {
51     out<<x.str();
52     return out;
53 }
54 int main()
55 {
56     cin>>a>>b;
57     cout<<a+b;
58     return 0;
59 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读