十进制与二进制之间的自由转换

#include <stdio.h>
#include<stdlib.h>
int main()
{
    int Type,a,b[10],i=0,c=0;
    printf("请输入转换类型 1:十进制转二进制;2:二进制转十进制;\n");
    scanf("%d",&Type);
    printf("请输入原数据\n");
    scanf("%d",&a);
    switch(Type)
    {
    case 1:
        if(a==0)
        {
            printf("二进制为:0\n");
            break;
        }

        while(a!=0)
        {
            b[i]=a%2;
            a/=2;
            i++;
        }
        printf("二进制为:");
        i--;
        for(;i>=0;i--)
            printf("%d\n",b[i]);
        break;
    case 2:
        if(a==0)
        {
             printf("十进制为:0\n");
            break;
        }

        while(a!=0)
        {
            b[i]=a%10;
            a/=10;
            i++;
        }
        i--;
        for(;i>=0;i--)
            c=c*2+b[i];
        printf("十进制为:%d\n",c);
        break;
    }
}

posted on 2017-01-17 13:34  hanlulu  阅读(145)  评论(0)    收藏  举报