用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; };