#include <stdio.h>
#include <stdlib.h>
char *ReverseStr(char dest[])
{
int i = 0, num = 0;
while(dest[num])
++num;
--num;
while(i < num)
{
char tmp = dest[i];
dest[i] = dest[num];
dest[num] = tmp;
++i;
--num;
}
return dest;
}
char *DecToBin(char dest[], int num)
{
int i = 0;
if(num < 0)
{
dest[0] = '-';
DecToBin(&dest[1], -num);
return dest;
}
do
{
dest[i] = num % 2 + '0';
num /= 2;
++i;
} while(num > 0);
dest[i] = '\0';
return ReverseStr(dest);
}
int main(int argc, char *argv[])
{
char buf[256];
int i, num;
for(i = 1; i < argc; ++i)
{
int num = atoi(argv[i]);
printf("%d = %s\n", num, DecToBin(buf, num));
}
getchar();
return 0;
}