qq_35203978
qq_35203978
采纳率0%
2016-06-02 15:41

如何用c语言把十进制纯小数转换成二进制,八进制,十六进制。求代码?谢谢

如何用c语言把十进制纯小数转换成二进制,八进制,十六进制。求代码?谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前
  • qq423399099 小灸舞 5年前
     #include<stdio.h>
    void main()
    {
        int idec,i,idr,p=0,ibase;
        char strdr[20],t;//定义字符类型 strdr[20]用于存放字符串,至于下标是几无所谓,但要长一些,否则位数不够(特别是转为二进制数.
        printf("输入要转换的十进制数:");
        scanf("%d",&idec);
        printf("输入要转换的进制基数:");
        scanf("%d",&ibase);
        while(idec!=0)
        {
            idr=idec%ibase;
            if(idr>=10)
                strdr[p++]=idr-10+65;//是strdr[p++] idr-10+65是为了表示数码大于10,要从字母'A'开始向后数(65是字符'A'的ASCII码).
            else
                strdr[p++]=idr+48;//idr+48是为了将数码以字符形式表示(48是字符'0'的ASCII码)
            idec/=ibase;
        }
        for(i=0;i<p/2;i++)
        {
            t=strdr[i];
            strdr[i]=strdr[p-i-1];
            strdr[p-i-1]=t;
        }
        strdr[p]='\0';//是字符串结束标志,防止出错,不可省去
            printf("转换成%d进制后的数为:%s",ibase,strdr);
        printf("\n");
    }
    
    点赞 评论 复制链接分享

相关推荐