八进制转换成十进制,十进制转换成八进制

版权声明:欢迎学习交流 https://blog.csdn.net/weixin_42493768/article/details/89638334

先来看八进制如何转换成十进制。其方法与二进制转换成十进制差不多:按权相加法,即将八进制每位上的数乘以位权(如8,64,512….),然后将得出来的数再加在一起。
如将72.45转换为十进制。如图1所示
在这里插入图片描述
来看看十进制转八进制,有两种方法:直接法与间接法,先看直接的方法,与十进制转成二进制相同,咱们还是分整数部分转换和小数部分转换。
整数部分,除8取余法,每次将整数部分除以8,余数为该位权上的数,商继续除以8,余数又为上一个位权上的数,然后以此类推一直下去,直到商为零,最后从最后一个余数向前排列就可以了,嗨,还是上图直观,如图2所示。
在这里插入图片描述
再看小数部分,与转二进制相同,这里是乘八取整法,也就是说小数部分乘以8,然后取整数部分,再让剩下的小数部分再乘以8,再取整数部分,……以此类推,一直乘到小数部分为零为止。例如0.13856,如图3所示。
在这里插入图片描述
小数部分乘以8,如果永远也碰不到零该怎么办?如图4所示(假设示范哦),那就根据位数要求进行“3舍4入”吧。
在这里插入图片描述
这个是直接的方法,还有一个间接的方法捏?就是先把十进制转换为二进制,然后再由二进制转换为8进制,例如将十进制478.0245转为八进制。

    先转为二进制为(转换方法这里就不再累述了哦,不知道的看上期介绍吧):

    (478.125)10=(111011110.001)2

    二进制再转为八进制为(转换方法这里就不再累述了哦,不知道的看上期介绍吧):

    (111011110.001)2=(736.1)8

注意事项:
八进制转十进制:整体顺序、小数点不变,个位乘8的0次方+十位乘8的1次方…=十进制得数,即可。小数部分从左到右乘8的负一次方开始,以此类推。
十进制转八进制:整体顺序、小数点不变,整数部分除8,余数倒着从左向右排,小数部分乘8,整数自左向右排。

猜你喜欢

转载自blog.csdn.net/weixin_42493768/article/details/89638334