代码改变世界

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

2016-06-17 18:50  天疯狂石  阅读(897)  评论(0编辑  收藏  举报

(一)数制

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

(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)