可以用标准库bitset类型,用一个十进制数初始化它就变成了二进制
#include
#include
main()
{
long n;
int base,i,a;
char s[100],*p,*q,t;
scanf("%ld%d",&n,&base);
for(i=0;;i++)
{
a=n%base;
n=n/base;
if(a<10)
{
s[i]=a+'0';
}
else
{
s[i]=a-10+'A';
}
// 停止转换条件
if(n==0)
{
break;
}
}
s[i+1]='\0';
// 高地位倒转
for(p=s,q=s+i;p {
t=*p,*p=*q;*q=t;
}
puts(s);
}
参考:
http://zhidao.baidu.com/question/172773850.html