• 进制转换


        (一)数制

     (1)逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数。

        二进制:逢二进一,借一当二

        八进制 : 逢八进一,借一当八

        十六进制:逢十六进一,借一当十六

        (二)数制转换

      十进制:有十个基数:0,1,2,3,4,5,6,7,8,9

       二进制:有两个基数:0,1

       八进制:有八个基数:0,1,2,3,4,5,6,7

       十六进制:有十六个基数:0——9,A(10),B(11),C(12),D(13),E(14),F(15)

    一 十进制与其他进制的转换

    1)十进制除2,除至0时所得余数按反方向写出,及为二进制数

    例:36除以2所得出的商依次为             1 8 9 4 2 1

          所得余数依次为                           0 0 1 0 0 1

         将余数从右向左写                         1 0 0 1 0 0

         所得出的100100为二进制数

    二级制右数位数 1 2 3 4 5 6 7 8

    十进制数

    1 2 4 8 16 32 64 128
    公式原型i 20 21 22 23 24 25 26 27

    2)二进制转十进制计算公式: a*20+b*21+c*22+······+m*2(n-1)

    以上公式中:a表示二进制的右边第一位数,b表示二进制的右边第二位数,c表示二进制数右边的第三位数·········m表示二进制数的右边第(n-1)位的数

    例:1011001由右至左成为十进制为89

    1*20+0*21+0*22+1*23+1*24+0*25+1*26

    =1+8+16+64

    =89

    二·1)十进制转八进制

    十进制逐次除以8,直至商为0,所得余数按照相反的顺序写出,即为其八进制数,

    例:49写成八进制为61

    2)八进制转十进制

    从右第n位 8 7 6 5 4 3 2 1
    8(n-1) 87 86 85 84 83 82 81 80
    十进制下的实际数 2097152 262144 32768 4096 512 64 8 1

    (2)八进制转十进制

    3)同二进制转十进制

    计算公式:a*80+b*81+c*82+d*83+·······m*8(n-1)

    例:2137由右至左成为十进制1119

    7*80+3*81+1*82+2*83

    =7+24+64+1024

    =1119

    三·1)十进制转十六进制

    十进制除以十六,

    0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)

    十进制数除以16,至商为0,所得余数按相反的顺序写出,即为其十六进制。

    例:75除以16得出的余数11(B)

    余数从右向左写为4B

    2)十六进制转十进制,

    同二进制、八进制一样

    计算公式:a*160+b*161+c*162+d*163+......m*16(n-1)=

    以上公式中a表示十六进制的右边第一位的数,b表示十六进制的右边的第二位的数,c表示十六进制的右边的第三位的数......m表示十六进制的右边第(n-1)位数.

    163 162 161 160
    4096 256 16 1

    例:1BC2由有至左成为十进制为7106         

    2*160+12*161+11*162+1*163

    =2+192+2816+4096

    =7106

    四、其他进制之间的转换

    二进制转为八进制:对于整数采用从右到左每三位一组,不够三位的在其左边补齐0,每组单独转换出来,即为八进制。

    例:        (001     101     111      011)

                      1          5         7         3

    所以,(1573)即为所得的八进制数

    八进制转换为二进制:将每位八进制由三位二进制数代替,即可完成转换。

    例:1735

    所以,(1111011101)即为所得的二进制数。

    二进制转换为十六进制:由于2的4次方=16,所以依照二进制与八进制的转换方法,将二进制数的每四位用一个十六进制数码来表示,整整部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换。

    例:(1001   0111   0111   1001)

               9         7         7         9

    所以:(9779)为所得的十六进制数

    十六进制转换为二进制:只要将每一位十六进制数用四位相应的二进制数表示,即可完成转换。

    例:(8        7        6           5)

          1000   o111   0110    0101

    所以,(1000011101100101)为所得的二进制数。

  • 相关阅读:
    redis主从模式
    深入理解BigDecimal
    double使用BigDecimal进行计算出现精确度问题
    代理IP爬取和验证(快代理&西刺代理)
    Jsoup-简单爬取知乎推荐页面(附:get_agent())
    Jsoup-基础练习
    取数据超过内存限制的问题-解决方案(sample,takeSample,filter)
    说出你的故事:你为什么学爬虫
    hadoop第一次面到hr(品友互动)
    MapReduce本地运行模式wordcount实例(附:MapReduce原理简析)
  • 原文地址:https://www.cnblogs.com/xingfudehuanyan/p/5245173.html
Copyright © 2020-2023  润新知