字符串大数相加,转换,去除前导0,字符串数值比较函数模板
Posted qieqiemin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串大数相加,转换,去除前导0,字符串数值比较函数模板相关的知识,希望对你有一定的参考价值。
string S(ll n)stringstream ss;string s;ss<<n;ss>>s;return s;
ll N(string s)stringstream ss;ll n;ss<<s;ss>>n;return n;
string rm0(string s)// 去除前导0函数
int i;
for(i=0;i<s.size()-1;i++)
if(s[i]!='0')
break;
return s.substr(i);
string ADD(string s,string t) // 字符串整数相加,返回一个字符串
if(s.size()<t.size())swap(s,t);s='0'+s;
reverse(t.begin(), t.end());while(s.size()>t.size())t+='0';reverse(t.begin(), t.end());int c=0;
for(int i=s.size();i>=0;i--)
if(c)
if(s[i]=='9')
s[i]='0';c=1;
else
s[i]=(char)(s[i]+1);c=0;
int sum=(int)s[i]+(int)t[i]-'0'*2;
if(sum>=10)
s[i]=(char)(sum-10+'0');c=1;
else
s[i]=(char)(sum+'0');
return rm0(s);
bool cmp(string s,string t)
// s>=t 返回1
// s<t 返回0
if(s.size()!=t.size())
return s.size()>t.size();
for(int i=0;i<s.size();i++)
if(s[i]!=t[i])
return s[i]>t[i];
return 1;
以上是关于字符串大数相加,转换,去除前导0,字符串数值比较函数模板的主要内容,如果未能解决你的问题,请参考以下文章