进制之间的转换(补充版)

这里是进制转换的补充,至于整数部分的讲解,参考小编的上一篇文章https://blog.csdn.net/mez_Blog/article/details/91354750,介绍了整数部分个进制之间的转换,这里主要介绍小数部分。

二进制转十进制(小数部分)

我们在前面的进制转换已经介绍过整数部分的进制转换,下面进行补充小数部分的进制转换

直接通过例子来观察

如:1.01(二进制)转换为十进制

1×2^0+0×2^-1+1×2^-2=1+0+0.25=1.25(十进制)

十进制转二进制(小数部分)

然后就是十进制的小数转换为二进制的小数。采用“乘2取整,顺序排列”法。就是用2乘以十进制的小数,然后把得到的乘积的整数部分取出,再用2乘以余下的小数部分,然后取整,依次循环这个过程,直到乘积中的小数部分为零,或者达到所要求的精度即可。这里需要注意!!!与整数部分不同的是,最后要把取出的部分顺序排列(与整数部分相反)

下面以实例来观察

如:将十进制数135.375转换为二进制数(这里直接以整数和小数部分的实例举证)

需要分为两部分进行计算:整数部分和小部分

整数部分:

135/2=67……………………………………余数1

67/2=33………………………………………余数1

33/2=16…………………………………………余数1

16/2=8……………………………………………余数0

8/2=4………………………………………………余数0

4/2=2………………………………………………余数0

2/2=1………………………………………………余数0

1/2=0………………………………………………余数1

即10000111

小数部分:

0.375×2=0.75………………………………………………整数部分0

0.75×2=1.5……………………………………………………整数部分1

0.5×2=1.0(这里小数部分为0,结束)…………………………整数部分1

即小数部分为011(注意:这里和整数部分不同,一定是正序的哦!!!)

最后整数部分和小数部分结合

最后结果为10000111.011(即为求得的二进制数)

二进制转八进制(小数部分)

上篇进制转换已经说过,二进制三三取数,这里小数部分也是一样。

直接举例如:11.011100101二进制转换为八进制(不足补零)

可以分为       011.            011              100            101

                       3                  3                 4                5

最后得到八进制数3.345

八进制转二进制(小数部分)

八进制转二进制与二进制转八进制相反,如下所示

八进制数1.65

       1.                     6                             5

     001.                  110                          101

即转换为二进制数1.110101

二进制转十六进制(小数部分)

也可以参考八进制和二进制之间的转换,十六进制和二进制之间的转换也是类似的,我们需要选取四个二进制数

1101.01011000

               1101.                                              0101                            1000

 8+4+1=13(十六进制中13为D)                  5                                     8

即十六进制数为D.58

十六进制转二进制(小数部分)

与之相反

十六进制数F.B5

                  F.                                 B                                 5

                1111.                             1011                           0101

   即转换为二进制1111.10110101

最后补充一下十进制转八进制,也可以类比一下十进制转二进制,比较类似

十进制数137.5

 也分为整数部分和小数部分

整数部分:137/8=17  余数1

                   17/8=2    余数1

                   2/8=0     余数2

即为八进制数211

小数部分:

 0.5×8=4.0            取整数4

整理合并,最终为八进制数211.4

八进制转十进制

还是以同样的数举例,供大家类比其计算方法,八进制数211.4,转换成十进制

211.4

2*8^2+1*8^1+1*8^0+4*8^-1=128+8+1+0.5=137.5

这就是十进制数137.5啦。

十六进制转十进制

十六进制数:A3.5

16进制中的A就是十进制中的10,那么计算方法如下:

A                 3     .      5

10*16^1+3*16^0+0.5*16^-1=163.3125

十进制转十六进制

同样的例子,我们还是拿十进制数163.3125来转换成十六进制

163   .    3125

首先还是划分成整数部分和小数部分

整数部分163

163/16=10.............................余数3

10/16=0.................................余数10这里要注意,既然是16进制,这里的10~15就是A~F,这里的10就是十六进制的A

所以我们得到的整数部分是A3

小数部分0.3125

0.3125*16=5.0.....................直接取整数部分5(此时小数部分为0,结束运算,如果不为零则继续作乘法运算,直至小数部分为0,如果是多个运算取整应该选正序哦,正序,正序,重要的地方说三遍)

八进制转十六进制和十六进制转八进制

这里为什么要放在一起呢,这是因为小编在上篇整数部分转换文章已经说过:

八进制不能直接转换为十六进制。可以采用间接转换法来进行转换。

1.先把八进制转换为二进制,然后再转换为十六进制。

2.先把八进制转换为十进制,然后再转换为十六进制。

同理,十六进制转换成八进制也是一样的,

1.先把十六进制转换为二进制,然后再转换为八进制。

2.先把十六进制转换为十进制,然后再转换为八进制。

这里只不过是加上了小数部分,在这篇文章中小编已经介绍过了,这里就不再举例了。另外,对于小数部分的八进制和十六进制的转换,实际应用还是比较少的,这里为了给大家完整的介绍进制转换,就把所有的进制转换都罗列出来,大家可以给自己出个数,转换练习一下。当然了,主要还是在于进制转换方法的掌握!

Endeavor

猜你喜欢

转载自blog.csdn.net/mez_Blog/article/details/102468841