⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 几个进制之间的转化.cpp

📁 用c实现进制转换
💻 CPP
字号:
/*.......注意本程序对其它进制转化为十进制的时候字符串长度不得超出100位本程序还可以进行适当的修改可以在任何
的两个进制之间进行转化,在这里不进行仔细的分析只给出了10进制也其他进制之间的转化和其它进制与十进制之间的转化*/

#include "stdio.h"
#include "stdlib.h"
#include "iostream.h"
#include "math.h"
#include "string.h"

main()
{
    int a,j,i,n,m,b[50],k;
    char *q;
    cout<<"/*0代表10->2;1代表10->8;2代表10->16;3代表2->10,4代表8->10,5代表16->10)*/\n请输入所需转化的代号:";
    cin>>a;
    if(a==0)
    {
        cout<<"请输入要转化的数字:";
        cin>>n;
        j=1;
        i=0;
        while(j!=0)
        {
            j=n/2;
            b[i]=n%2;
            n=j;
            i++;
        }
        k=i-1;
        while(k>=0)
        {
            printf("%d",b[k]);
            k--;
        }
    }
    else if(a==1)
    {
        cout<<"请输入要转化的数字:";
        cin>>n;
        j=1;
        i=0;
        while(j!=0)
        {
            j=n/8;
            b[i]=n%8;
            n=j;
            i++;
        }
        k=i-1;
        while(k>=0)
        {
            printf("%d",b[k]);
            k--;
        }
    }
    else if(a==2)
    {
        cout<<"请输入要转化的数字:";
        cin>>n;
        j=1;
        i=0;
        while(j!=0)
        {
            j=n/16;
            b[i]=n%16;
            n=j;
            i++;
        }
        k=i-1;
        while(k>=0)
        {
            if(b[k]>=10 && b[k]<=15)
                printf("%c",b[k]+55);
            else
               printf("%d",b[k]);
            k--;
        }
    }
    else if(a==3)
    {
         char c[100];
         cout<<"请输入要转化的字符串:";
         scanf("%s",c);
         m=strlen(c);
         int s=0,d;
         for(i=0;i<=m-1;i++)
         {
            d=c[m-i-1]-48;
            s=s+d*pow(2,i);
         }
         cout<<s;
    }
    else if(a==4)
    {
         char c[100];
         cout<<"请输入要转化的字符串:";
         scanf("%s",c);
         m=strlen(c);
         int s=0,d;
         for(i=0;i<=m-1;i++)
         {
            d=c[m-i-1]-48;
            s=s+d*pow(8,i);
         }
         cout<<s;
    }
    else if(a==5)
    {
         char c[100];
         cout<<"请输入要转化的字符串:";
         scanf("%s",c);
         m=strlen(c);
         int s=0,d;
         for(i=0;i<=m-1;i++)
         {
            if(c[m-i-1]>='A' && c[m-i-1]<='F')
                d=c[m-i-1]-55;
            else
                d=c[m-i-1]-48;
            s=s+d*pow(16,i);
         }
         cout<<s;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -