纯手打,支持各种进制
#include <iostream>
using namespace std;
char *myitoa(int num,char *str,int radix);
int main()
{
int a;
char *p=new char[100];
while(cin>>a){
cout<<myitoa(a,p,2)<<endl;
}
return 0;
}
char *myitoa(int num,char *str,int radix)
//num是输入数字,str是存放对应的字符串,radix是进制
{
char *temp=new char[10];
int a,i=0,j=0;
if(num<0)
{
str[i++] = '-';
num *= -1;
}
while(num>0)
{
a = num%radix;
if(a > 9)
temp[j++] = a -10 +'A';
else
temp[j++] = a +'0';
num /= radix;
}
while(j>0)
{
str[i++] = temp[--j];
}
str[i] = '\0';
return str;
}
本回答被提问者和网友采纳