A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如有不足 望指教  谢谢

//编程实现将任意的十进制整数转换成任意R进制数(R在2-16之间)。(C语言)
///////////////////////////////////////////////////////////////////
//转化为二进制
     void zhuanHuaTwo(int num)
    {
        int sum=0;
        sum=sizeof(num)*8;
        //通过把右移把十进制转化为二进制
        int k;
        for(int i=0;i<sum;i++)
        {
            k=num>>(sum-i-1)&1;
            if(i!=0&&i%8==0)
            {
                printf(" ");
            }
            printf("%d",k);
        }
    }

//Czqiang

///////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////
//转化为八进制
    void zhuanHuaEight(int num)
    {
        printf("转化后的二进制为%o\n",num);
        
    }

//Czqiang


///////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////
//转化为十六进制
    void zhuanHuaSixteen(int num)
    {
        printf("%x\n",num);
        
    }

//Czqiang

///////////////////////////////////////////////////////////////////
#include <stdio.h>

int main(int argc, const char * argv[])
{
    char ch;
    int i=0;
    printf("请选择你要转化哪种进制:a表示转化为二进制  b表示转化为八进制  c表示转化为十六进制\n");
    scanf("%c",&ch);
    printf("\n");
    printf("请输入你要转化的数字\n");
    scanf("%d",&i);
        switch(ch)
        {
                case 'a': zhuanHuaTwo(i);break;
               
                case 'b': zhuanHuaEight(i);break;
        
                case 'c': zhuanHuaSixteen(i);break;
               
                default:printf("能力有限,有待研究");break;
               
        
        }
   
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马