计算机C++实现任意长整数的四则运算
一、什么是任意长整数
任意长整数,也称作大整数或无限长整数,可以表示出任意长度的整数,是由多个整数构成的有限序列。它的最大特征是其位数不受限制,可以用来表示任意大小的整数。
二、任意长整数四则运算
1、四则运算
任意长整数四则运算是指对任意长整数进行加、减、乘、除四种基本运算的操作。
2、C++实现任意长整数的四则运算
字符串截取前四位(1)首先要明确,任意长整数是由多个整数构成的有限序列,所以要想实现四则运算,必须将单个整数进行相应的计算。
(2)因此,可以采用逐位计算的方法来实现任意长整数的四则运算。具体的步骤如下:
(a)以字符串的形式表示任意长整数,并转换成整型数组,每个元素代表任意长整数中的一位数字;
(b)从数组的末尾开始,依次取出每一位数字,根据相应的运算符进行计算;
(c)将计算结果存入到一个新的数组中;
(d)最后,把新数组中的元素按照从小到大的顺序组合成一个新的字符串,这就是任意长整数的四则运算的结果。
三、C++实现任意长整数的四则运算的算法
(1)定义函数原型:string Cal(string str1,string str2,char op);
(2)申请内存空间:int *arr1 = new int[str1.length()]; int *arr2 = new int[str2.length()]; int *res = new int[max(str1.length(),str2.length())];
(3)将字符串转化为整型数组:for(int i=0;i < str1.length();i++) arr1[i] = str1[i] - '0'; for(int j=0;j < str2.length();j++) arr2[j] = str2[j] - '0';
(4)根据所传入的运算符,进行相应的运算:switch (op) {case '+': //加法运算break; case '-': //减法运算break; case '*': //乘法运算break; case '/': //除法运算break;}
(5)将计算结果存入到新的数组中:for(int k=0;k<max(str1.length(),str2.length());k++) res[k] = add[k];
(6)将计算结果的数组转换成字符串:string result=""; for(int l=0;l<max(str1.length(),str2.length());l++) result += to_string(res[l]);
(7)返回计算结果return result;
(8)释放内存空间delete[] arr1; delete[] arr2; delete[] res;
四、总结
任意长整数四则运算是指对任意长整数进行加、减、乘、除四种基本运算的操作。C++实现任意长整数的四则运算,可以采用逐位计算的方法,包括将字符串转换成整型数组,根据运算符进行计算,将计算结果存入到新的数组中,将数组转换成字符串,最后返回计算结果。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论