C++使用string的大数运算(6)模加模减模乘模幂

2019-04-13 11:54发布

本次项目目标:使用C++完成对于大数的相关运算项目要点1.大数指的是远超long long int的数据2.将大数用矩阵进行存储,并通过矩阵实现运算3.本人采用字符串进行存储,应注意char的特点比如:char a=161;     cout<<(int)a;此时会输出-95,而不是161,char类型首个比特位是作为正负号的这四个只要你完成了大数的加减乘法,以及取模运算之后就很简单了,这些函数参见之前大的博客,我只在这基础上写的代码模幂运算在下个博客会讲到其的快速算法具体代码如下:string modadd(string a,string b,string c) { string d; d=add(a,b); d=mod(d,c); return d; } string modminus(string a,string b,string c) { string d; d=minus(a,b); if(d.at(0)=='-') { d.erase(0,1); d=mod(d,c); d=minus(c,d); } d=mod(d,c); return d; } string modmultiply(string a,string b,string c) { string d; d=multiply(a,b); d=mod(d,c); return d; } string modpower(string a,long int b,string c) { long int i; string d; d="1"; for(i=0;i