int jzhi(int x,string y){
    int h=0,ans=0,y2=0;
    if(x<=10){
        for(int i=0;i<y.size();i++){
            y2*=10;
            y2+=y[i]-'0';
        }
        while(y2){
            ans+=y2%10*pow(x,h);
            y2/=10;
            h++;
        }
    }else{
        for(int i=0;i<y.size();i++){
            y2*=10;
            if(y[i]>='0'&&y[i]<='9') y2+=y[i]-'0';
            else if(y[i]=='A') ans+=10*pow(x,i);
            else if(y[i]=='B') ans+=11*pow(x,i);
            else if(y[i]=='C') ans+=12*pow(x,i);
            else if(y[i]=='D') ans+=13*pow(x,i);
            else if(y[i]=='E') ans+=14*pow(x,i);
            else if(y[i]=='F') ans+=15*pow(x,i);
        }
    }
    return ans;
}
//2-16进制化十进制

2 条评论

  • 1