我给出一种算法,看看谁能有办法修改,或者提供更高效的算法,把一个整数以二进制形式输出。
char* ToBinary(int src)
{
//By Rock
//2008-09-29
#define BitDig(n) (int)(log((double)n)/log(2.0))
static char des[]="00000000000000000000000000000000";
int tmp=src,sto=src,index=0,highest=BitDig(src);
while(index<highest)
{
tmp=sto&-sto;
sto-=tmp;
index=BitDig(tmp);
*(des+0x1F-index)='1';
}
return des;
}