C++大数运算之加法,减法
2014-09-22 10:15
639 查看
//太简单不解释加法
#include<iostream> #include<algorithm> #include<string.h> #include<stdio.h> using namespace std; #define maxlen 201 int a[maxlen+2]; int b[maxlen+2]; char asize[maxlen+2]; char bsize[maxlen+2]; int add(int maxn,int *a,int *b) { int flag=0; for(int i=0;i<maxn;i++) { a[i]=a[i]+b[i]; if(a[i]>=10) { a[i]-=10; a[i++]++; } if(a[i]>0) flag=i; } return flag; } int main() { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); // cin>>*asize; //cin.ignore(); // cin>>*bsize; scanf("%s",asize); scanf("%s",bsize); int la=strlen(asize); int lb=strlen(bsize); for(int i=0;i<la;i++) a[i]=asize[i]-'0'; for(int i=0;i<lb;i++) b[i]=bsize[i]-'0'; int len=max(la,lb); int f=add(len,a,b); for(int i=f;i>=0;i--) cout<<a[i]; cout<<endl; }//减法
#include<iostream> #include<algorithm> #include<string.h> #include<stdio.h> using namespace std; #define maxlen 201 int a[maxlen+2]; int b[maxlen+2]; char asize[maxlen+2]; char bsize[maxlen+2]; int sub(int maxn,int *a,int *b) { int flag=0; for(int i=0;i<maxn;i++) { a[i]=a[i]-b[i]; if(a[i]<0) { a[i]+=10; a[i++]--; } if(a[i]>0) flag=i; } return flag; } int main() { // cin>>*asize; //cin.ignore(); // cin>>*bsize; scanf("%s",asize); scanf("%s",bsize); int la=strlen(asize); int lb=strlen(bsize); memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); for(int i=0,j=la-1;j>=0;) a[i++]=asize[j--]-'0'; for(int i=0,j=lb-1;j>=0;) b[i++]=bsize[j--]-'0'; int len=max(la,lb); int f=sub(len,a,b); printf("\n%s -",asize); printf("%s =\n",bsize); /*for(int i=0;i<la;i++) cout<<a[i]; for(int i=0;i<lb;i++) cout<<b[i]; // cout<<*bsize<<" "<<*b<<endl;*/ for(int i=f;i>=0;i--) cout<<a[i]; cout<<endl; }
减法部分需要注意的是,将字符串反转。这里没有考虑负数的情况,而且默认是a数组放大数,只要再写一个函数,判断一下a,b的大小和符号就可以啦。
相关文章推荐
- 整数大数模拟 高精度加法 高精度减法 高精度乘法 高精度除法 c/c++ java
- 大数运算-减法(C/C++实现)
- 大数运算——加法减法
- Java常用数字工具类 大数乘法、加法、减法运算(2)
- C++使用string大数运算——加法
- 大数运算——加法,减法,乘法 .
- 大数运算之加法和乘法算法C++模板
- C++实现大数运算 加法部分。
- Java工作利器之常用工具类(二)——数字工具类-大数乘法、加法、减法运算
- 单链表实现大数加法、大数减法、大数乘法、大数指数运算
- 大数运算——加法减法
- 大数加法、减法、乘法、除法、求余、比较、乘方(代码简短(总计150)、易懂)
- 任意长整数加法运算(C++)实验文档
- 只使用++运算实现加法,减法,乘法,除法PHP实现
- 大数加法.减法.乘法.除法
- 个人C++模板之大数系列(加法)
- 在C/C++代码中使用SSE等指令集的指令(5)SSE进行加法运算简单的性能测试
- javascript 处理大数字的解决方式(仅仅适合于加法减法运算)
- 高精度运算 大数加法
- 大整数运算之 大整数加法、减法、乘法