C++中怎么利用string实现大数减法运算-创新互联

这期内容当中小编将会给大家带来有关C++中怎么利用string实现大数减法运算,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新新互联,凭借10多年的网站设计制作、成都网站制作经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有1000+案例。做网站建设,选创新互联公司

项目要点


1.大数指的是远超long long int的数据

2.将大数用矩阵进行存储,并通过矩阵实现运算

3.本人采用字符串进行存储,应注意char的特点

比如:

char a=161;

cout<<(int)a;

此时会输出-95,而不是161,char类型首个比特位是作为正负号的

减法,此处只做自然数加法,因为存在负整数的话可以使用自然数加法来处理,只需判断正负再看加减即可

运行截图及代码如下

#include#include#includeusing namespace std;#define n 10string dezero(string a)//用来去掉正数前面的0,也就是说可以输入000001类似这样的数字{ long int i; for(i=0;i48) break; } if(i==a.length()) return "0"; a.erase(0,i); return a;}int judge(string a,string b)//判断两个正数的大小{ if(a.length()>b.length()) return 1; if(a.length()b.at(i)) return 1; if(a.at(i)=48&&c2.at(i)<=57) c2.at(i)-=48; if(c2.at(i)>=97&&c2.at(i)<=122) c2.at(i)-=87; } for(i=0;i=48&&c1.at(i)<=57) c1.at(i)-=48; if(c1.at(i)>=97&&c1.at(i)<=122) c1.at(i)-=87; } for(i=0;i=0;i--) { if(c1.at(i)>0) break; } c1.erase(i+1,c1.length()); for(i=0;i=10) c1.at(i)+=87; if(c1.at(i)<10) c1.at(i)+=48; } reverse(c1.begin(),c1.end()); if(j==-1) c1.insert(0,d); return c1;}int main(){ string a,b; while(cout<<"input:"&&cin>>a>>b) { cout<<"output:"<

上述就是小编为大家分享的C++中怎么利用string实现大数减法运算了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


标题名称:C++中怎么利用string实现大数减法运算-创新互联
本文来源:http://cdiso.cn/article/idcsi.html

其他资讯