c++中有没有直接进制转换的函数呀?????

来源:百度知道 编辑:UC知道 时间:2024/05/10 06:35:25

有,但只是10进制转化成2 8 10 16进制的。
函数原型:char *itoa(int value,char *string,int radix );
value是你想转化的数,radix 多少进制。
使用方法:
char s2[100];//转化2进制
int value=10;
itoa(value,s2,2);

下面是一个我写的例子已经调试通过你看看吧。
int main()
{
int n;
char s2[100]; //存2进制
char s8[100];//存8进制
char s10[100];//存10进制
char s16[100];//存16进制
while(1)
{
cout<<"输入要转化的数(输入小于0的数退出程序):";
cin>>n;
if(n<0)
{
break;
}

itoa(n,s2,2); //将n转为2进制
itoa(n,s8,8);//将n转为8进制
itoa(n,s10,10);//将n转为10进制
itoa(n,s16,16);//将n转为16进制

cout<<"转化2进制是:"<<s2<<endl;
cout<<"转化8进制是:"<<s8<<endl;
cout<<"转化10进制是:"<<s10<<endl;
cout<<"转化16进制是:"<<s16<<endl;

cout<<endl;

}
return 0;
}