高精度运算代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高精度运算代码相关的知识,希望对你有一定的参考价值。
感谢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 }
高精度减法:
高精*单精:
高精*高精:
高精/单精:
以上是关于高精度运算代码的主要内容,如果未能解决你的问题,请参考以下文章