C/C++各种进制转换库函数

1. 任意2-36进制数转化为10进制数(strtol)

#include <bits/stdc++.h>
using namespace std;

int main(int argc, char** argv) {

char buffer[20]="11";
char *stop;
int ans=strtol(buffer, &stop, 2); //将八进制数1054转成十进制,后面均为非法字符
printf("%d\n",ans);
printf("%s\n", stop);
return 0;
}

2. 将10进制数转换为任意的n进制数,结果为char型(_itoa)

#include <bits/stdc++.h>
using namespace std;

int main(int argc, char** argv) {

int num, redix;
cin >> num >> redix;
char str[100];
_itoa(num, str, redix); //c++中一般用_itoa,用itoa也行,
printf("%s\n", str);

return 0;
}