zoukankan      html  css  js  c++  java
  • 进制的相互转换学习记录

    看到朋友的面试题中关于进制转换的题,发现怎么转换的简直懵逼得不能再懵逼了
    遂百度一下算法,然后加以实践,在纸上计算一二,并记录下来,以备后习

    2进制转10进制

    m为数字,n为长度,右边算起,m*2的0次方+m*2的1次方,+...+m*2的n-1次方

    二进制数:10111
    十进制:23
    计算方式

    1-----4次方-----1*2*2*2*2
    0-----3次方-----0*2*2*2
    1-----2次方-----1*2*2
    1-----1次方-----1*2
    1-----0次方-----1*1
    

    百度经验: 二进制如何转十进制,十进制如何转二进制

    2进制转4进制 取二合一

    右边算起,00->0,01->1,10->2,11->3
    二进制:10111
    四进制:113 计算:1(1)01(1)11(3)

    倒推可以得出:113= 01 01 11 即 10111

    2进制转8进制 取三合一

    右边算起,000到111的组合按大小对应0-7

    即:000->0,001->1,010->2,011->3,100->4,101->5,110->6,111->7
    二进制:10111
    八进制:27 计算:10(010->2) 111(7)

    百度经验: 二进制如何转换成八进制,八进制如何转成二进制

    2进制转16进制 取四合一

    右边算起,0000到1111的组合按大小对于0-9,A-Z
    可发现规律映射关系
    0000<0001<0010<0011<0100<0101<0110<0111<1000<1001<1010<1011<1100<1101<1110<1111
    0 < 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < A < B < C < D < E < F
    于是
    二进制:10111
    十六进制:17 计算:1(1) 7(0111)

    同理16进制转2进制倒退即可,左边的0抹掉即可

    百度经验: 二进制数与十六进制数之间如何互相转换

    10进制转换2进制

    十进制数:18
    转换2进制:10010
    计算方式:

    18=16+2
    -----2的4次方=10000
    -----2的1次方=     10
    -----------------=10010
    

    10进制转2进制 除2取余法

    10进制转4进制 除4取余法

    10进制转8进制 除8取余法

    10进制转16进制 除16取余法

    十进制数:2230
    转换8进制:4266
    计算方式

    2230/8------278------余-----6
    278/8---------34------余-----6
    34/8------------4------余-----2
    4<8	取4
    

    从下往上数即为:4266

    10进制转换成2.4.8进制使用取余法即刻,除以对于的进制数,得其余数,从最后的商开始,从下往上数得到结果

    其余进制的转换,如8进制转4进制,可以先将其转换为2进制,再将2进制转换为4进制...

  • 相关阅读:
    解除对80端口的占用
    php排序算法
    Jquery异步请求数据实例
    C# winform 递归选中TreeView子节点
    C# WinFrom 编写正则表达式验证类
    c# winfrom 委托实现窗体相互传值
    [转]我的第一个WCF
    计算字符串中子串出现的次数
    JQuery中的html(),text(),val()区别
    Crystal Report制作使用
  • 原文地址:https://www.cnblogs.com/morang/p/7551986.html
Copyright © 2011-2022 走看看