码迷,mamicode.com
首页 > 其他好文 > 详细

高精度运算代码

时间:2017-08-10 20:55:31      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:color   ret   close   isp   scanf   span   logs   pre   return   

感谢wyh大佬和wzy大佬的帮助qwq

 

高精度加法:

技术分享
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 
 6 using namespace std;
 7 
 8 const int MAXN = 10000 + 5;
 9 
10 struct bign
11 {
12     int len;
13     int num[MAXN];
14     
15     void clear()
16     {
17         len = 0;
18         memset(num,0,sizeof(num));
19     }
20 }ans;
21 
22 bign operator + (bign a,bign b)
23 {
24     int t = 0;
25     ans.clear();
26     ans.len = max(a.len,b.len);
27     for(int i = 1;i <= ans.len;++ i)
28     {
29         ans.num[i] = a.num[i]+b.num[i]+t;
30         t = ans.num[i]/10;
31         ans.num[i]%=10;
32     }
33     if(ans.num[ans.len+1])
34         ans.len++;
35     return ans;
36 }
37 
38 char s[MAXN];
39 bign get()
40 {
41     ans.clear();
42     memset(s,0,sizeof(s));
43     scanf("%s",s+1);
44     ans.len = strlen(s+1);
45     for(int i = 1;i <= ans.len1;++ i)
46         ans.num[i] = s[ans.len-i+1]-0;
47     return ans;
48 }
49 
50 void out(bign a)
51 {
52     for(int i = a.len;i >= 1;-- i)
53         printf("%d",a.num[i]);
54 }
55 
56 int main()
57 {
58     bign a,b;
59     a = get();
60     b = get();
61     out(a+b);
62     return 0;
63 }
+

 

高精度减法:

高精*单精:

高精*高精:

高精/单精:

高精度运算代码

标签:color   ret   close   isp   scanf   span   logs   pre   return   

原文地址:http://www.cnblogs.com/shingen/p/7341120.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!