10进制转62进制

核能气质少年 提交于 2019-11-26 20:45:54

用C++实现10进制转16进制

#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
//将任意字符转换为十进制,其中a-z代表10-35,A-Z代表36-61,用对应的ASCII码调整就好
char i2char(int n)
{
    if(n>=0&&n<=9)return '0'+n;
    if(n>=10&&n<=35)return 'a'+(n-10);
    else return 'A'+(n-36);
}
template<typename T> string num2str62(T& n)
{
    char buf[1024]={0};
    int index=0;
    while(n>0)
    {
        int m=n%62;
        n-=m;
        n/=62;
        buf[index++]=i2char(m);
    }
    string str=buf;
    string str2=string(str.rbegin(),str.rend());
    return str2;
}
int main(int narg,char** args)
{
    int n=10245;
    
    printf("%s\n",num2str62(n).c_str());
    return 0;

};

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!