1.2.4 计算机中的进制转换

1.2.4 计算机中的进制转换

由于计算机采用二进制,而生活中人们常用十进制进行计算,因此,在计算机和人交流信息的过程中就必须进行相应的数制转换。

1.非十进制数转换为十进制数

将非十进制数转换为十进制数的方法为按权展开求和。

(1)二进制数(11011.101)2转换为十进制数

(11011.101)2=1×24+1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3

=16+8+2+1+0.5+0.125

=(27.625)10

(2)八进制数(123.24)8转换为十进制数

(123.24)8=1×82+2×81+3×80+2×8-1+4×8-2

=(83.3125)10

(3)十六进制数(3AB.48)16转换十进制数

(3AB.48)16=3×162+10×161+11×160+4×16-1+8×16-2

=(939.28125)10

2.十进制数转换为R进制数

十进制数转换为R进制数的方法为整数部分“除R取余法”,小数部分“乘R取整法”。

(1)十进制数转换为二进制数

转换规则:整数部分“除2取余法”;小数部分“乘2取整法”。

例1-1 将十进制数(37.375)10转换为二进制数。(https://www.daowen.com)

整数部分37除以2,商为0时终止计算,按高位到低位的顺序得到(37)10=(100101)2。小数部分0.375乘以2,将乘积的整数取出后,余下的小数部分继续乘以2,再按高位到低位的顺序得到(0.375)10=(0.011)2

图示

最后将整数部分和小数部分合起来,得到的结果是(37.375)10=(100101.011)2

在上面的例子中,小数部分经过有限次乘2取整过程即结束了。但有时可能是无限的,这时要根据精度的要求在适当的位数上截止,得到近似的结果就可以了。八进制和十六进制也是如此。

(2)十进制数转换成八进制数

十进制数转换成八进制数的方法是整数部分转换采用“除8取余法”,小数部分“乘8取整法”。

例1-2 将十进制数(1725.6875)10转换成八进制数。

整数部分1725转换如下:

图示

小数部分0.6875转换如下:

图示

.000000为零,转换结束最后得到的结果是(1725.6875)10=(3275.54)8

(3)十进制数转换成十六进制数

将十进制数转换成十六进制数的方法是整数部分转换采用“除16取余法”,小数部分转换采用“乘16取整法”。

例1-3 将十进制数(12345.671875)10转换为十六进制数。

整数部分12345转换如下:

图示

小数部分0.671875转换过程如下:

图示

最后得到的结果是(12345.671875)10=(3039.AC)16

图示

非十进制数之间的转换

图示

计算机中的信息编码