这里是进制转换的补充,至于整数部分的讲解,参考小编的上一篇文章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
十进制转八进制也是类似的方法,这里小编就不再举例,相信大家通过这两篇文章,对进制转换的掌握也会更近一步。
转载:https://blog.csdn.net/mez_Blog/article/details/102468841