打印任意进制,进制转换函数

/*函数:r进制转换成10进制*/
int rToTen(string n,int r){
    //将r进制转为10进制,n是该r进制的字符串表示
    int len = n.length();
    int ans = 0;
    int i = 0;
    while(i<len){
        ans*=r;
        ans+=n[i]-'0';
        i++;
    }
    return ans;
}
 
/*函数:十进制转任意进制*/
void tenToR(int n,int r){
    //十进制n转r进制 ,返回字符串s
    char str[1005];
    memset(str,'\0',sizeof(str));
    stack<int>s;
    while(n){
        s.push(n%r);
        n = n/r;
    }
    int i = 0;
    while(!s.empty()){
        switch(s.top()){
            case 10:
                str[i++] = 'A';
                break;
            case 11:
                str[i++] = 'B';
                break;
            case 12:
                str[i++] = 'C';
                break;
            case 13:
                str[i++] = 'D';
                break;
            case 14:
                str[i++] = 'E';
                break;
            case 15:
                str[i++] = 'F';
                break;
            default:
                str[i++] = s.top()+'0';
        }
        s.pop();
    }
       cout<<str<<endl;
}
全部评论

相关推荐

10-30 19:23
已编辑
山东大学(威海) C++
牛至超人:我了个雷 1.实习经历写太长了吧,精简一点,你写那么老多,面试官看着都烦 2.项目经历你放俩竞赛干啥单独拿出来写上几等奖就行了呗 3.一大雷点就是项目经历里的那个课程设计,大家都知道课程设计巨水,不要写课程设计,换一个名字,就叫学生管理系统,面试官问就说是自己做的项目,不要提课程设计的事 4.那个交流经历,简化一下塞到最上面的教育经历里就行了 5.简历尽量一页纸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务