从底位到高位的开始转换
int b2ten(int x,int B)
{
int sum=0;
int u=0;
while(x>0)
{
sum=sum+x%10*pow(B,u);
u++;
x/=10;
}
return sum;
}
从高位到底位的开始转换
int p2ten(char*x,int p)
{
int y=0;
for(int i=0;x[i]!='\0';i++)
{
if(isdigit(x[i])) y=y*p+x[i]-48;
if(isalpha(x[i])) y=y*p+x[i]-55;
}
return y;
}
十进制转p进制
void ten2p(int b,int p,vector<int>&a)
{
if(b==0)
{
a.push_back(0);
return ;
}
while(b>0)
{
a.push_back(b%p);
b=b/p;
}
}