zoukankan      html  css  js  c++  java
  • 十进制与二进制,八进制,十六进制的转换

    (一)数制

          计算机采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径,节省设备等优点,为了便于描述,又常用八.十六进制作为二进制的缩写。特点:

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

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

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

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

    (二)数制转换

          不同进位计数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别一定相等的原则进行的。

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

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

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

          十六进制:有十六个基数:0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)

    (三)十进制与二进制的转换

          <1>十进制——二进制

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

          例:36除以2得出商依次为         18 9 4 2 1

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

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

               所得出的100100为二进制数

           <2>二进制——十进制

           计算公式:a*2^0+b*2^1+c*2^2+......+m*2^(n-1)=

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

           例:1011011(2)=89

            1*2^0+0*2^1+0*2^2+1*2^3+1*2^4+0*2^5+1*2^6

            =1+8+16+64

            =89

    (四)十进制与八进制的转换

           <1>十进制——八进制

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

           例:49除以8得出余数为         1 6

                 余数从右向左写为            61

                 49=61(8)

          <2>八进制——十进制

          计算公式:a*8^0+b*8^1+c*8^2+......+m*8^(n-1)=

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

          例:2137(8)=1119

               7*8^0+3*8^1+1*8^2+2*8^3

               =7+24+64+1024

               =1119

    (五)十进制与十六进制的转换

           <1>十进制——十六进制

           十进制数逐次整除16,直至商为0,所得余数按照相反的顺序写出,即为十六进制。

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

                余数从右向左写为              4B

          <2>十六进制——十进制

          计算公式:a*16^0+b*16^1+c*16^2+......+m*16^(n-1)=

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

          例:1BC2(16)=7106

                2*16^0+12*16^1+11*16^2+1*16^3

                =2+192+2816+4096

                =7106

    (六)二进制与八进制,十六进制的转换

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

           例:(001 101 111 011)

                 1    5     7     3

              1101111011(2)=1573(8)

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

           例:(  1    7     3    5  )

                    001 111 011 101 

                 1735(8)=1111011101(2)

           注:001(2)=1(8)   010(2)=2(8)  011(2)=3(8)  100(2)=4(8)  101(2)=5(8)  110(2)=6(8)  111(2)=7(8)

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

           例:(1001 0111 0111 1001)

                     9       7      7       9

                    100101110111101(2)=9779(16)

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

           例:( 8       7      6      5)

                   1000 0111 0110 0101

                  8765(16)=1000011101100101(2)

           注:0001(2)=1(16)  0010(2)=2(16) 0011(2)=3(16)  0100(2)=4(16)  0101(2)=5(16)

                0110(2)=6(16)  0111(2)=7(16)  1000(2)=8(16)  1001(2)=9(16) 1010(2)=A(16)

                1011(2)=B(16)  1100(2)=C(16)  1101(2)=D(16) 1110(2)=E(16)  1111(2)=F(16)

  • 相关阅读:
    推荐一个JavaScript触发器插件,可通过指定频次、指定时间内触发指定的处理函数
    TortoiseGit for windows安装与配置
    Postgresql 迁移随笔一
    三边定位 c#
    unset变量释放内存不起作用
    局域网下 连接别人的数据库授权
    iconv 参数详解
    urlencode()和rawurlencode()区别
    php数组函数
    php://input和parse_str()使用
  • 原文地址:https://www.cnblogs.com/shi2172843/p/5594577.html
Copyright © 2011-2022 走看看