2-36进制的加法计算

来源:互联网 发布:php程序员面试简历 编辑:程序博客网 时间:2024/05/18 02:02
#include<iostream>
#include<string>


std::string ershidi(const int& m,std::string one,std::string two)
{
std::cout<<"be better\n";
int len1=one.length();
int len2=two.length();
int len=0;
if(len1>len2)
{
len=len1;
int temp=len1-len2;
two.insert(0,temp,'0');
}
else if(len2>len1)
{
len=len2;
int temp=len2-len1;
one.insert(0,temp,'0');
}
else
{
len=len1;
}
std::string get;
int yu=0;
int add=0;
for(int i=len-1;i>=0;i--)
{
int one1=one[i];
int two1=two[i];
if(one[i]>'9')
{
one1=one[i]-'a'+'k'-'a';
}
else if(one[i]<='9')
{
one1=one[i]-'0';
}
if(two[i]>'9')
{
two1=two[i]-'a'+'k'-'a';
}
else if(two[i]<='9')
{
two1=two[i]-'0';
}
int temp=one1+two1+add;
yu=temp%m;
add=temp/m;
if(yu>9)
{
char ctemp=yu+'0'+'a'-'0'-'k'+'a';
get=get+ctemp;
}
else
{
char ctemp=yu+'0';
get=get+ctemp;
}
}
for(int i=len-1;i>=0;i--)
{
std::cout<<get[i];
}
return get;
}


int main()
{
int jinzhi;
std::string fs;
std::string zs;
std::cin>>jinzhi>>fs>>zs;
ershidi(jinzhi,fs,zs);
getchar();
getchar();
return 0;
}
0 0