1.直接转换
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x=35;
cout<<"x的2进制"<<bitset<8>(x)<<endl;
cout<<"x的8进制"<<oct<<x<<endl;
cout<<"x的10进制"<<dec<<x<<endl;
cout<<"x的16进制"<<hex<<x<<endl;
return 0;
}
2.任意进制转化为10进制
strtol 函数:
char buffer[20]="23";
char *stop;
long long s=strtol(buffer,&stop,16);
printf("%d\n",s);
printf("%s\n", stop);
其中buffer是要转化的字符串,stop是获得非法字符,16是原来的进制;
3.将一个10进制的数转化为n进制的值
itoa函数:
它的功能是将一个10进制的数转化为n进制的值、其返回值为char型
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x=35;
char s[50];
itoa(x,s,2);
cout<<"x的2进制"<<s<<endl;
itoa(x,s,8);
cout<<"x的8进制"<<s<<endl;
itoa(x,s,10);
cout<<"x的10进制"<<s<<endl;
itoa(x,s,16);
cout<<"x的16进制"<<s<<endl;
return 0;
}