in Uncategorized

十进数转换为二进制数的程序代码(C语言)

今天闲来无聊,写了一个将十进制转换为二进制的小程序,只用于正数。
在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;
                }
        }

}
========================================================================

Write a Comment

Comment