• 进制转换


    关于进制的转换

    三道题:

    十进制转换成任意进制
    任意进制转换成十进制
    任意进制转换

    今天在学校刷的几道联系紧密的题目,全部都是关于进制的转化。

    于是就来博客上整理一下。


    首先是十进制转换成任意进制:

    十进制转换成任意进制使用的是倒排取余法。

    例子就不举了,相信大家对于十进制转二进制的原理应该都是明白的。

    其实对于其他形式的进制也是一样的:

    只不过是把%和/的2换成了所要转换的进制数

    emmm

    应该是非常显而易见的。

    对吧?

    然后呢,代码如下,方便大家理解。

    #include<cstdio>
    using namespace std;
    int m,n,i=1;
    int a[100];
    int main(){
        scanf("%d%d",&n,&m);
        while(n){
            a[i]=n%m;
            n/=m;
            i++;
        }
        for(int j=i-1;j>=1;j--){
            if(a[j]==10) printf("A");
            if(a[j]==11) printf("B");
            if(a[j]==12) printf("C");
            if(a[j]==13) printf("D");
            if(a[j]==14) printf("E");
            if(a[j]==15) printf("F");
            if(a[j]<10) printf("%d",a[j]);
        }
        return 0;
    }
    

    我相信以大家的能力一定是能够理解的!!!

    特别的,关于ABCDEF的存在:
    显然‘10’代表‘A’ …… 以此类推

    其次就是任意进制转换成十进制

    其实就是我们把十进制转换成任意进制的逆过程。

    然后同样的可以以二进制转换成十进制为例,大家自己思考。

    我们代码的实现同样是把2换成其他所要转换的进制而已。

    特殊的!注意把‘A’转换成‘10’,需要使用字符串和ASCII 码表辅助转换。

    代码大家自己思考。

    最后关于任意进制的转换

    显而易见。

    如果我要将一个进制转换成另一个进制。

    我们可以借助中间的10进制。

    那么显然我们只要把上面的两层代码结合起来就可以得到我们所要的操作。

    于是,

    显然的,

    我依然不会提供代码啦!!!

    祝大家好运~~~

    [by 某个不知名的精分患者 ]

  • 相关阅读:
    videojs播放直播源rtmp时画面在左上角解决方案
    常用git操作命令
    vue使用vue-video-player在直播中的应用
    element-ui隐藏组件scrollbar的使用
    Array.reduce()学习
    阿里云物联网套件(iot)设备间通信(M2M)在web端的实践
    前端axios下载excel(二进制)
    nodejs连接阿里云物联网套件(mqtt)
    base64格式图片转换为FormData对象进行上传
    NodeJS之微信开发
  • 原文地址:https://www.cnblogs.com/JingFenHuanZhe/p/JinZhiZhuanHuan0918.html
Copyright © 2020-2023  润新知