【六六互联】长期出售【美国抗投诉服务器】【欧洲抗投诉服务器】【亚洲抗投诉服务器】
2022/10/07/ - - 0 条评论

虽然计算机内部使用二进制表示各种信息,但计算机与外部的交流仍采用人们熟悉和便于阅读的形式。接下来我们将讨论几种进位计数制之间的转换问题。

数制之间的相互转换

1 R进制数转换为十进制数

根据R进制数的按位权展开式,我们可以很方便地将R进制数转化为10进制数。

【例1】将(110.101)2、(16.24)8、(5E.A7)16转化为10进制数。

    (110.101)2 =1×22 +1×21 +0×20+1×2-1 +0×2-2 +1×2-3

         =6.625

   (16.24)8 =1×81 +6×80 +2×8-1 +4×8-2

        =14.3125

   (5E.A7)16 =5×161 +14×160 +10×16-1 +7×16-2

        =94.6523

2 十进制数转化为R进制数

将十进制数转化为R进制数,只要对其整数部分,采用除以R取余法,而对其小数部分,则采用乘以R取整法即可。

    【例2】将(179.48)10化为二进制数。

数制之间的相互转换

 其中,(179)10=(10110011)2(0.48)10=(0.0111101)2(近似取7位)

因此,(179.48)10=(10110011.0111101)2

从此例我们可以看出,一个十进制的整数可以精确转化为一个二进制整数,但是一个十进制的小数并不一定能够精确地转化为一个二进制小数。

【例3】将(179.48)10化为八进制数。

数制之间的相互转换

其中,(179)10=(263)8 ,(0.48)10=(0.365)8(近似取3位)

    因此,(179.48)10=(263.365)8

    【例4】将(179.48)10化为十六进制数。

数制之间的相互转换

其中,(179)10=(B3)16,(0.48)10=(0.7A)16(近似取2位)

    所以,(179.48)10=(B3.7A)16

与十进制数转化为二进制数类似,当我们将十进制小数转换为八进制或十六进制小数的时候,同样会遇到不能精确转化的问题。

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

因为8=23,所以需要3位二进制数表示1位八进制数;而16=24,所以需要4位二进制数表示1位十六进制数。由此我们可以看出,二进制、八进制、十六进制之间的转换是比较容易的。

1)二进制和八进制数之间的转换

二进制数转换成八进制数时,以小数点为中心向左右两边延伸,每三位一组,小数点前不足三位时,前面添0补足三位;小数后不足三位时,后面添0补足三位。然后将各组二进制数转换成八进制数。

【例5】将(10110011.011110101)2化为八进制。

(10110011.011110101)2 = 010 110 011.011110 101= (263.365)8

八进制转换成二进制数则可概括为“一位拆三位”,即把一位八进制写成对应的三位二进制,然后按顺序连接起来即可。

【例6】将(1234)8化为二进制数。

(1234)8=1 2 3 4=001 010 011100=(1010011100)2

数制之间的相互转换

2) 二进制和十六进制数之间的转换

类似于二进制转换成八进制,二进制转换成十六进制时也是以小数点为中心向左右两边延伸,每四位一组,小数点前不足四位时,前面添0补足四位;小数点后不足四位时,后面添0补足四位。然后,将各组的四位二进制数转换成十六进制数。

【例7】将(10110101011.011101)2转换成十六进制数。

(10110101011.011101)2=0101 10101011.0111 0100 =(5AB.74)16

十六进制数转换成二进制数时,将十六进制数中的每一位拆成四位二进制数,然后按顺序连接起来。

【例8】将(3CD)16转换成二进制数。

(3CD)16=3 C D=0011 11001101=(1111001101)2

关于八进制与十六进制之间的转换,通常先转换为二进制数作为过渡,再用上面所讲的方法进行转换。

【例9】将(3CD)16转换成八进制数。

(3CD)16=3 C D=0011 11001101=(1111001101)2 =001 111 001 101=(1715)8