第一节课:进制转换

一、数制

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

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

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

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

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

(2)数制转换:不同进位数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如果相等,则两数的整数和分数部分一定分别相等的原则进行的。也就是说,若转换前两数相等,转换后仍必须相等

      十进制:有十个基数:0,1,2,3,4,5,6,7,8,9(小于10)

      二进制:有两个基数:0,1(小于2)

      八进制:有八个基数:0,1,2,3,4,5,6,7(小于8)

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

二、十进制与其他进制之间的转换

(1)与二进制之间的转换

      a.十进制转二进制(0,1)

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

      例如:7的二进制为111    7除以2  商3余1 ,3继续除以2,商1余1     则7的二进制数是111

       36的二进制为100100    36除以2,商18余0,18继续除以2,商9余0,9除以2,商4余1,4除以二,商2余0,2除以2,商1余1  倒过来写出36的二进制为100100

       b.二进制转十进制

       计算公式:a*20+b*21+c*22......n*2n-1=

       二进制转十进制是从最右边的数值开始依次向左进行转换,即a代表最右边的数值

       例如:1011001转换为十进制为89

       计算公式:1*20+0*21+0*22+1*23+1*24+0*25+1*26=89  

(2)与八进制之间的转换

        a.十进制转八进制(0,1,2,3,4,5,6,7)

        十进制数逐次整除以8,直至商为0

        例如:49写成八进制是61    49除以8,商6余1

             125 写成八进制是175    125除以8,商15余5,15继续除以8,商1余7  倒过来写出125的八进制为175

        b.八进制转十进制(同二进制转十进制)

        计算公式:a*80+b*81+c*82......n*8n-1=

        例如:2137向右转换为十进制为1119

        计算公式:7*80+3*81+1*82+2*83=1119

(3)与十六进制之间的转换

       a.十进制转十六进制[0—9,A,B,C,D,E,F(A=10,B=11,C=12,D=13,E=14,F=15)]

       十进制数除以16,至商为0,所的余数按相反方向写出即为十六进制数

       例如:75的十六进制为4B        75除以16   商4余11  11写作B反过来写成4B

             296的十六进制为128     296除以16,商18余8,18继续除以16,商1余2  反过来写作128极为296的十六进制

       b,十六进制转为十进制(同二进制、八进制一样)

       计算公式:a*80+b*81+c*82......n*8n-1=

       例如:1BC2写作十六进制为7106

       计算公式:2*160+12*161+12*162+1*163=7106

三、二进制与八进制、十六进制之间的转换

(1)二进制与八进制之间的转换

       a.二进制转换为八进制

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

       例如:001   101     111      011   

              1      5        7       3              即1 101 111 011的八进位制数为1573

       b.八进位制数转换为二进位制数

       将每位八进制由三位二进制代替即可

       例如:3     7      6     2

            11     111   110  010                   即3762转换为二进制数为11 111  110 010

(2)二进制与十六进制之间的转换

       a.二进制转十六进制(以每四位二进制数为一组,依次向左进行转换)

       例如:1001    0111    0111    1001

               9       7       7       9              即1001 0111 0111 1001的十六进制为9779

       b.十六进制转换为二进制(将每一位十六进制数用4位二进制数来代替)

       例如:8          7           6         5

            1000        0111       0110        0101             即8765转换为二进制为1000 0111 0110 0101

原文地址:https://www.cnblogs.com/sunhan1012/p/4916092.html