十进制转二进制可以使用库函数itoa。
itoa函数原型:char*itoa(int value,char*string,int radix)
功能:将任意类型的数字转换为字符串。在<stdlib.h>中与之有相反功能的函数是atoi。
nt value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等。
参考代码:
#include <stdio.h>#include<stdlib.h>
int main()
{
int i=10
char a[100]
itoa(i,a,2)
printf("%s\n",a)
return 0
}
/*
1010
*/
#include#include
#include
using namespace std
string zhuanhuan(int num,int base)
{
string digitChar="0123456789" ,numStr= ""
stackstk
do{
stk.push(digitChar[num%base])
num /= base
}while(num!=0)
while(!stk.empty())
{
numStr += stk.top()
stk.pop()
}
return numStr
}
int main()
{
int m , n
cout<<"请输入要转换的数字:"
cin >>m
cout<<"请输入要转换的进制:"
cin >>n
cout <<"将"<<m <<"转换成" <<n <<"进制后为:"
cout <<zhuanhuan(m,n) <<endl
system("pause")
return 0
}
以上代码能实现任意进制之间的转换!希望对你有帮助!!