今天闲来无聊,写了一个将十进制转换为二进制的小程序,只用于正数。
在GCC4.0下测试通过,代码如下:
====================================================================
#include<stdio.h>
#include<stdlib.h>
main(int argc,char* argv[])
{
int YuShu[300],Bin[300],i=0,Dec;
int YuShuCount=0,BinCount=0;
if (argc != 2)
{
printf("Usage:dtb number(decimal number)n");
return 1;
}
Dec=atoi(argv[1]);
if (Dec == 1 )
{
printf("The Binary number is:1n");
return 0;
}
while (1)
{
if (Dec >= 2)
{
YuShu[YuShuCount]=Dec % 2;
Dec = Dec / 2;
YuShuCount++;
}
else
{
YuShu[YuShuCount]=Dec;
for (i=0;i<=YuShuCount;)
{
Bin[BinCount]=YuShu[YuShuCount];
YuShuCount–;
BinCount++;
}
printf("The binary number is:");
for (i=0;i<BinCount;i++)
{
printf("%d",Bin[i]);
}
printf("n");
return 0;
}
}
}
========================================================================