欢迎来到天天文库
浏览记录
ID:11247529
大小:45.00 KB
页数:6页
时间:2018-07-11
《大整数加减乘除c版》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、大整数加减乘除C++版1.#include 2.#include 3. 4.#define MAX_DIGIT 500 5. 6.//大数运算:加法 7.int Multiply(int *a,int *b,int *&result); 8.//大数运算:乘法 9.int Add(int *a,int *b,int *&result); 10.//大数运算:减法 11.int Sub(int *a,int *b,int *&result);
2、 12. 13.//逐位调整大数,如result为11 9 22 -3 -2调整为:1 0 3 9 -3,然后再对符号提升到最高位: 9 9 6 0 2... ... -1 14.//表示大数的值为-20699 15.void AjustEncodeArray(int *&result,unsigned int iMaxNum); 16. 17.//输出大数 18.void PrintBigNum(int *result); 19. 20.//把个位在高位的字符数组转为个位在低位(下标0)的
3、整型数组 21.void CArray2revDigitArray(char *cArray,int *DigitArray,unsigned int iNum); 22. 23.//大数运算:加法 24.int Add(int *a,int *b,int *&result) 25.{ 26. if(a==NULL
4、
5、 b==NULL
6、
7、 result==NULL) 27. { 28. printf("multiply:input error"); 2
8、9. return -1; 30. } 31. int i=0,j=0; 32. //初始化result数组 33. for(i=0;i9、. AjustEncodeArray(result,MAX_DIGIT*2); 42. return 0; 1.} 2. 3.//大数运算:减法 4.int Sub(int *a,int *b,int *&result) 5.{ 6. if(a==NULL 10、11、 b==NULL 12、13、 result==NULL) 7. { 8. printf("multiply:input error"); 9. return -1; 14、10. } 11. int i=0,j=0; 12. //初始化result数组 13. for(i=0;i15、 21. AjustEncodeArray(result,MAX_DIGIT*2); 22. return 0; 23.} 24. 25.//大数乘法 26.int Multiply(int *a,int *b,int *&result) 27.{ 28. if(a==NULL 16、17、 b==NULL 18、19、 result==NULL) 29. { 30. printf("multiply:input error"); 31. 20、return -1; 32. } 33. int i=0,j=0; 34. //初始化result数组 35. for(i=0;i
9、. AjustEncodeArray(result,MAX_DIGIT*2); 42. return 0; 1.} 2. 3.//大数运算:减法 4.int Sub(int *a,int *b,int *&result) 5.{ 6. if(a==NULL
10、
11、 b==NULL
12、
13、 result==NULL) 7. { 8. printf("multiply:input error"); 9. return -1;
14、10. } 11. int i=0,j=0; 12. //初始化result数组 13. for(i=0;i15、 21. AjustEncodeArray(result,MAX_DIGIT*2); 22. return 0; 23.} 24. 25.//大数乘法 26.int Multiply(int *a,int *b,int *&result) 27.{ 28. if(a==NULL 16、17、 b==NULL 18、19、 result==NULL) 29. { 30. printf("multiply:input error"); 31. 20、return -1; 32. } 33. int i=0,j=0; 34. //初始化result数组 35. for(i=0;i
15、 21. AjustEncodeArray(result,MAX_DIGIT*2); 22. return 0; 23.} 24. 25.//大数乘法 26.int Multiply(int *a,int *b,int *&result) 27.{ 28. if(a==NULL
16、
17、 b==NULL
18、
19、 result==NULL) 29. { 30. printf("multiply:input error"); 31.
20、return -1; 32. } 33. int i=0,j=0; 34. //初始化result数组 35. for(i=0;i
此文档下载收益归作者所有